/*********************************************************************
*                SEGGER Microcontroller GmbH & Co. KG                *
*        Solutions for real time microcontroller applications        *
**********************************************************************
*                                                                    *
*        (c) 1996 - 2010  SEGGER Microcontroller GmbH & Co. KG       *
*                                                                    *
*        Internet: www.segger.com    Support:  support@segger.com    *
*                                                                    *
**********************************************************************

** emWin V5.06 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws.   Knowledge of the
source code may not be used to write a similar product.  This file may
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File        : GUI__BiDi.c
Purpose     : Implementation of the BiDi-algorithm explained in the
              Unicode standard annex #9. Some code of this implementaion
              is based on the Unicode reference code.
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI_Private.h"

/*********************************************************************
*
*       Defines
*
**********************************************************************
*/
#ifndef   GUI_BIDI_MAX_LEVEL
  #define GUI_BIDI_MAX_LEVEL 14
#endif

#define ON   0 /* Other Neutrals */
#define L    1 /* Left-to-Right */
#define R    2 /* Right-to-Left */
#define AN   3 /* Arabic Number */
#define EN   4 /* European Number */
#define AL   5 /* Right-to-Left Arabic */
#define NSM  6 /* Non-Spacing Mark */
#define CS   7 /* Common Number Separator */
#define ES   8 /* European Number Separator */
#define ET   9 /* European Number Terminator */
#define BN  10 /* Boundary Neutral */
#define S   11 /* Segment Separator */
#define WS  12 /* Whitespace */
#define B   13 /* Paragraph Separator */
#define RLO 14 /* Right-to-Left Override */
#define RLE 15 /* Right-to-Left Embedding */
#define LRO 16 /* Left-to-Right Override */
#define LRE 17 /* Left-to-Right Embedding */
#define PDF 18 /* Pop Directional Format */
#define N   ON

#define GREATER_EVEN(i) (i & 1) ? i + 1 : i + 2
#define GREATER_ODD(i)  (i & 1) ? i + 2 : i + 1

#define EMBEDDING_DIRECTION(Level) (Level & 1) ? R : L

/*********************************************************************
*
*       Types
*
**********************************************************************
*/
typedef struct {
  U16 Code;
  U8  Type;
} TYPE;

typedef struct {
  U16 Code;
  U16 CodeM;
} PAIR;

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
/*********************************************************************
*
*       _aTypes
*
* Purpose:
*   The following table contains the types of all assigned
*   Unicode characters.
*/
static const TYPE _aTypes[] = {
  {0x0000 , BN }, /* <control> */
  {0x0001 , BN }, /* <control> */
  {0x0002 , BN }, /* <control> */
  {0x0003 , BN }, /* <control> */
  {0x0004 , BN }, /* <control> */
  {0x0005 , BN }, /* <control> */
  {0x0006 , BN }, /* <control> */
  {0x0007 , BN }, /* <control> */
  {0x0008 , BN }, /* <control> */
  {0x0009 , S  }, /* <control> */
  {0x000A , B  }, /* <control> */
  {0x000B , S  }, /* <control> */
  {0x000C , WS }, /* <control> */
  {0x000D , B  }, /* <control> */
  {0x000E , BN }, /* <control> */
  {0x000F , BN }, /* <control> */
  {0x0010 , BN }, /* <control> */
  {0x0011 , BN }, /* <control> */
  {0x0012 , BN }, /* <control> */
  {0x0013 , BN }, /* <control> */
  {0x0014 , BN }, /* <control> */
  {0x0015 , BN }, /* <control> */
  {0x0016 , BN }, /* <control> */
  {0x0017 , BN }, /* <control> */
  {0x0018 , BN }, /* <control> */
  {0x0019 , BN }, /* <control> */
  {0x001A , BN }, /* <control> */
  {0x001B , BN }, /* <control> */
  {0x001C , B  }, /* <control> */
  {0x001D , B  }, /* <control> */
  {0x001E , B  }, /* <control> */
  {0x001F , S  }, /* <control> */
  {0x0020 , WS }, /* SPACE */
  {0x0021 , ON }, /* EXCLAMATION MARK */
  {0x0022 , ON }, /* QUOTATION MARK */
  {0x0023 , ET }, /* NUMBER SIGN */
  {0x0024 , ET }, /* DOLLAR SIGN */
  {0x0025 , ET }, /* PERCENT SIGN */
  {0x0026 , ON }, /* AMPERSAND */
  {0x0027 , ON }, /* APOSTROPHE */
  {0x0028 , ON }, /* LEFT PARENTHESIS */
  {0x0029 , ON }, /* RIGHT PARENTHESIS */
  {0x002A , ON }, /* ASTERISK */
  {0x002B , ES }, /* PLUS SIGN */
  {0x002C , CS }, /* COMMA */
  {0x002D , ES }, /* HYPHEN-MINUS */
  {0x002E , CS }, /* FULL STOP */
  {0x002F , CS }, /* SOLIDUS */
  {0x0030 , EN }, /* DIGIT ZERO */
  {0x0031 , EN }, /* DIGIT ONE */
  {0x0032 , EN }, /* DIGIT TWO */
  {0x0033 , EN }, /* DIGIT THREE */
  {0x0034 , EN }, /* DIGIT FOUR */
  {0x0035 , EN }, /* DIGIT FIVE */
  {0x0036 , EN }, /* DIGIT SIX */
  {0x0037 , EN }, /* DIGIT SEVEN */
  {0x0038 , EN }, /* DIGIT EIGHT */
  {0x0039 , EN }, /* DIGIT NINE */
  {0x003A , CS }, /* COLON */
  {0x003B , ON }, /* SEMICOLON */
  {0x003C , ON }, /* LESS-THAN SIGN */
  {0x003D , ON }, /* EQUALS SIGN */
  {0x003E , ON }, /* GREATER-THAN SIGN */
  {0x003F , ON }, /* QUESTION MARK */
  {0x0040 , ON }, /* COMMERCIAL AT */
  {0x0041 , L  }, /* LATIN CAPITAL LETTER A */
  {0x0042 , L  }, /* LATIN CAPITAL LETTER B */
  {0x0043 , L  }, /* LATIN CAPITAL LETTER C */
  {0x0044 , L  }, /* LATIN CAPITAL LETTER D */
  {0x0045 , L  }, /* LATIN CAPITAL LETTER E */
  {0x0046 , L  }, /* LATIN CAPITAL LETTER F */
  {0x0047 , L  }, /* LATIN CAPITAL LETTER G */
  {0x0048 , L  }, /* LATIN CAPITAL LETTER H */
  {0x0049 , L  }, /* LATIN CAPITAL LETTER I */
  {0x004A , L  }, /* LATIN CAPITAL LETTER J */
  {0x004B , L  }, /* LATIN CAPITAL LETTER K */
  {0x004C , L  }, /* LATIN CAPITAL LETTER L */
  {0x004D , L  }, /* LATIN CAPITAL LETTER M */
  {0x004E , L  }, /* LATIN CAPITAL LETTER N */
  {0x004F , L  }, /* LATIN CAPITAL LETTER O */
  {0x0050 , L  }, /* LATIN CAPITAL LETTER P */
  {0x0051 , L  }, /* LATIN CAPITAL LETTER Q */
  {0x0052 , L  }, /* LATIN CAPITAL LETTER R */
  {0x0053 , L  }, /* LATIN CAPITAL LETTER S */
  {0x0054 , L  }, /* LATIN CAPITAL LETTER T */
  {0x0055 , L  }, /* LATIN CAPITAL LETTER U */
  {0x0056 , L  }, /* LATIN CAPITAL LETTER V */
  {0x0057 , L  }, /* LATIN CAPITAL LETTER W */
  {0x0058 , L  }, /* LATIN CAPITAL LETTER X */
  {0x0059 , L  }, /* LATIN CAPITAL LETTER Y */
  {0x005A , L  }, /* LATIN CAPITAL LETTER Z */
  {0x005B , ON }, /* LEFT SQUARE BRACKET */
  {0x005C , ON }, /* REVERSE SOLIDUS */
  {0x005D , ON }, /* RIGHT SQUARE BRACKET */
  {0x005E , ON }, /* CIRCUMFLEX ACCENT */
  {0x005F , ON }, /* LOW LINE */
  {0x0060 , ON }, /* GRAVE ACCENT */
  {0x0061 , L  }, /* LATIN SMALL LETTER A */
  {0x0062 , L  }, /* LATIN SMALL LETTER B */
  {0x0063 , L  }, /* LATIN SMALL LETTER C */
  {0x0064 , L  }, /* LATIN SMALL LETTER D */
  {0x0065 , L  }, /* LATIN SMALL LETTER E */
  {0x0066 , L  }, /* LATIN SMALL LETTER F */
  {0x0067 , L  }, /* LATIN SMALL LETTER G */
  {0x0068 , L  }, /* LATIN SMALL LETTER H */
  {0x0069 , L  }, /* LATIN SMALL LETTER I */
  {0x006A , L  }, /* LATIN SMALL LETTER J */
  {0x006B , L  }, /* LATIN SMALL LETTER K */
  {0x006C , L  }, /* LATIN SMALL LETTER L */
  {0x006D , L  }, /* LATIN SMALL LETTER M */
  {0x006E , L  }, /* LATIN SMALL LETTER N */
  {0x006F , L  }, /* LATIN SMALL LETTER O */
  {0x0070 , L  }, /* LATIN SMALL LETTER P */
  {0x0071 , L  }, /* LATIN SMALL LETTER Q */
  {0x0072 , L  }, /* LATIN SMALL LETTER R */
  {0x0073 , L  }, /* LATIN SMALL LETTER S */
  {0x0074 , L  }, /* LATIN SMALL LETTER T */
  {0x0075 , L  }, /* LATIN SMALL LETTER U */
  {0x0076 , L  }, /* LATIN SMALL LETTER V */
  {0x0077 , L  }, /* LATIN SMALL LETTER W */
  {0x0078 , L  }, /* LATIN SMALL LETTER X */
  {0x0079 , L  }, /* LATIN SMALL LETTER Y */
  {0x007A , L  }, /* LATIN SMALL LETTER Z */
  {0x007B , ON }, /* LEFT CURLY BRACKET */
  {0x007C , ON }, /* VERTICAL LINE */
  {0x007D , ON }, /* RIGHT CURLY BRACKET */
  {0x007E , ON }, /* TILDE */
  {0x007F , BN }, /* <control> */
  {0x0080 , BN }, /* <control> */
  {0x0081 , BN }, /* <control> */
  {0x0082 , BN }, /* <control> */
  {0x0083 , BN }, /* <control> */
  {0x0084 , BN }, /* <control> */
  {0x0085 , B  }, /* <control> */
  {0x0086 , BN }, /* <control> */
  {0x0087 , BN }, /* <control> */
  {0x0088 , BN }, /* <control> */
  {0x0089 , BN }, /* <control> */
  {0x008A , BN }, /* <control> */
  {0x008B , BN }, /* <control> */
  {0x008C , BN }, /* <control> */
  {0x008D , BN }, /* <control> */
  {0x008E , BN }, /* <control> */
  {0x008F , BN }, /* <control> */
  {0x0090 , BN }, /* <control> */
  {0x0091 , BN }, /* <control> */
  {0x0092 , BN }, /* <control> */
  {0x0093 , BN }, /* <control> */
  {0x0094 , BN }, /* <control> */
  {0x0095 , BN }, /* <control> */
  {0x0096 , BN }, /* <control> */
  {0x0097 , BN }, /* <control> */
  {0x0098 , BN }, /* <control> */
  {0x0099 , BN }, /* <control> */
  {0x009A , BN }, /* <control> */
  {0x009B , BN }, /* <control> */
  {0x009C , BN }, /* <control> */
  {0x009D , BN }, /* <control> */
  {0x009E , BN }, /* <control> */
  {0x009F , BN }, /* <control> */
  {0x00A0 , CS }, /* NO-BREAK SPACE */
  {0x00A1 , ON }, /* INVERTED EXCLAMATION MARK */
  {0x00A2 , ET }, /* CENT SIGN */
  {0x00A3 , ET }, /* POUND SIGN */
  {0x00A4 , ET }, /* CURRENCY SIGN */
  {0x00A5 , ET }, /* YEN SIGN */
  {0x00A6 , ON }, /* BROKEN BAR */
  {0x00A7 , ON }, /* SECTION SIGN */
  {0x00A8 , ON }, /* DIAERESIS */
  {0x00A9 , ON }, /* COPYRIGHT SIGN */
  {0x00AA , L  }, /* FEMININE ORDINAL INDICATOR */
  {0x00AB , ON }, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
  {0x00AC , ON }, /* NOT SIGN */
  {0x00AD , BN }, /* SOFT HYPHEN */
  {0x00AE , ON }, /* REGISTERED SIGN */
  {0x00AF , ON }, /* MACRON */
  {0x00B0 , ET }, /* DEGREE SIGN */
  {0x00B1 , ET }, /* PLUS-MINUS SIGN */
  {0x00B2 , EN }, /* SUPERSCRIPT TWO */
  {0x00B3 , EN }, /* SUPERSCRIPT THREE */
  {0x00B4 , ON }, /* ACUTE ACCENT */
  {0x00B5 , L  }, /* MICRO SIGN */
  {0x00B6 , ON }, /* PILCROW SIGN */
  {0x00B7 , ON }, /* MIDDLE DOT */
  {0x00B8 , ON }, /* CEDILLA */
  {0x00B9 , EN }, /* SUPERSCRIPT ONE */
  {0x00BA , L  }, /* MASCULINE ORDINAL INDICATOR */
  {0x00BB , ON }, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
  {0x00BC , ON }, /* VULGAR FRACTION ONE QUARTER */
  {0x00BD , ON }, /* VULGAR FRACTION ONE HALF */
  {0x00BE , ON }, /* VULGAR FRACTION THREE QUARTERS */
  {0x00BF , ON }, /* INVERTED QUESTION MARK */
  {0x00C0 , L  }, /* LATIN CAPITAL LETTER A WITH GRAVE */
  {0x00C1 , L  }, /* LATIN CAPITAL LETTER A WITH ACUTE */
  {0x00C2 , L  }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
  {0x00C3 , L  }, /* LATIN CAPITAL LETTER A WITH TILDE */
  {0x00C4 , L  }, /* LATIN CAPITAL LETTER A WITH DIAERESIS */
  {0x00C5 , L  }, /* LATIN CAPITAL LETTER A WITH RING ABOVE */
  {0x00C6 , L  }, /* LATIN CAPITAL LETTER AE */
  {0x00C7 , L  }, /* LATIN CAPITAL LETTER C WITH CEDILLA */
  {0x00C8 , L  }, /* LATIN CAPITAL LETTER E WITH GRAVE */
  {0x00C9 , L  }, /* LATIN CAPITAL LETTER E WITH ACUTE */
  {0x00CA , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
  {0x00CB , L  }, /* LATIN CAPITAL LETTER E WITH DIAERESIS */
  {0x00CC , L  }, /* LATIN CAPITAL LETTER I WITH GRAVE */
  {0x00CD , L  }, /* LATIN CAPITAL LETTER I WITH ACUTE */
  {0x00CE , L  }, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
  {0x00CF , L  }, /* LATIN CAPITAL LETTER I WITH DIAERESIS */
  {0x00D0 , L  }, /* LATIN CAPITAL LETTER ETH */
  {0x00D1 , L  }, /* LATIN CAPITAL LETTER N WITH TILDE */
  {0x00D2 , L  }, /* LATIN CAPITAL LETTER O WITH GRAVE */
  {0x00D3 , L  }, /* LATIN CAPITAL LETTER O WITH ACUTE */
  {0x00D4 , L  }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
  {0x00D5 , L  }, /* LATIN CAPITAL LETTER O WITH TILDE */
  {0x00D6 , L  }, /* LATIN CAPITAL LETTER O WITH DIAERESIS */
  {0x00D7 , ON }, /* MULTIPLICATION SIGN */
  {0x00D8 , L  }, /* LATIN CAPITAL LETTER O WITH STROKE */
  {0x00D9 , L  }, /* LATIN CAPITAL LETTER U WITH GRAVE */
  {0x00DA , L  }, /* LATIN CAPITAL LETTER U WITH ACUTE */
  {0x00DB , L  }, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
  {0x00DC , L  }, /* LATIN CAPITAL LETTER U WITH DIAERESIS */
  {0x00DD , L  }, /* LATIN CAPITAL LETTER Y WITH ACUTE */
  {0x00DE , L  }, /* LATIN CAPITAL LETTER THORN */
  {0x00DF , L  }, /* LATIN SMALL LETTER SHARP S */
  {0x00E0 , L  }, /* LATIN SMALL LETTER A WITH GRAVE */
  {0x00E1 , L  }, /* LATIN SMALL LETTER A WITH ACUTE */
  {0x00E2 , L  }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
  {0x00E3 , L  }, /* LATIN SMALL LETTER A WITH TILDE */
  {0x00E4 , L  }, /* LATIN SMALL LETTER A WITH DIAERESIS */
  {0x00E5 , L  }, /* LATIN SMALL LETTER A WITH RING ABOVE */
  {0x00E6 , L  }, /* LATIN SMALL LETTER AE */
  {0x00E7 , L  }, /* LATIN SMALL LETTER C WITH CEDILLA */
  {0x00E8 , L  }, /* LATIN SMALL LETTER E WITH GRAVE */
  {0x00E9 , L  }, /* LATIN SMALL LETTER E WITH ACUTE */
  {0x00EA , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
  {0x00EB , L  }, /* LATIN SMALL LETTER E WITH DIAERESIS */
  {0x00EC , L  }, /* LATIN SMALL LETTER I WITH GRAVE */
  {0x00ED , L  }, /* LATIN SMALL LETTER I WITH ACUTE */
  {0x00EE , L  }, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
  {0x00EF , L  }, /* LATIN SMALL LETTER I WITH DIAERESIS */
  {0x00F0 , L  }, /* LATIN SMALL LETTER ETH */
  {0x00F1 , L  }, /* LATIN SMALL LETTER N WITH TILDE */
  {0x00F2 , L  }, /* LATIN SMALL LETTER O WITH GRAVE */
  {0x00F3 , L  }, /* LATIN SMALL LETTER O WITH ACUTE */
  {0x00F4 , L  }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
  {0x00F5 , L  }, /* LATIN SMALL LETTER O WITH TILDE */
  {0x00F6 , L  }, /* LATIN SMALL LETTER O WITH DIAERESIS */
  {0x00F7 , ON }, /* DIVISION SIGN */
  {0x00F8 , L  }, /* LATIN SMALL LETTER O WITH STROKE */
  {0x00F9 , L  }, /* LATIN SMALL LETTER U WITH GRAVE */
  {0x00FA , L  }, /* LATIN SMALL LETTER U WITH ACUTE */
  {0x00FB , L  }, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
  {0x00FC , L  }, /* LATIN SMALL LETTER U WITH DIAERESIS */
  {0x00FD , L  }, /* LATIN SMALL LETTER Y WITH ACUTE */
  {0x00FE , L  }, /* LATIN SMALL LETTER THORN */
  {0x00FF , L  }, /* LATIN SMALL LETTER Y WITH DIAERESIS */
  {0x0100 , L  }, /* LATIN CAPITAL LETTER A WITH MACRON */
  {0x0101 , L  }, /* LATIN SMALL LETTER A WITH MACRON */
  {0x0102 , L  }, /* LATIN CAPITAL LETTER A WITH BREVE */
  {0x0103 , L  }, /* LATIN SMALL LETTER A WITH BREVE */
  {0x0104 , L  }, /* LATIN CAPITAL LETTER A WITH OGONEK */
  {0x0105 , L  }, /* LATIN SMALL LETTER A WITH OGONEK */
  {0x0106 , L  }, /* LATIN CAPITAL LETTER C WITH ACUTE */
  {0x0107 , L  }, /* LATIN SMALL LETTER C WITH ACUTE */
  {0x0108 , L  }, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
  {0x0109 , L  }, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */
  {0x010A , L  }, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
  {0x010B , L  }, /* LATIN SMALL LETTER C WITH DOT ABOVE */
  {0x010C , L  }, /* LATIN CAPITAL LETTER C WITH CARON */
  {0x010D , L  }, /* LATIN SMALL LETTER C WITH CARON */
  {0x010E , L  }, /* LATIN CAPITAL LETTER D WITH CARON */
  {0x010F , L  }, /* LATIN SMALL LETTER D WITH CARON */
  {0x0110 , L  }, /* LATIN CAPITAL LETTER D WITH STROKE */
  {0x0111 , L  }, /* LATIN SMALL LETTER D WITH STROKE */
  {0x0112 , L  }, /* LATIN CAPITAL LETTER E WITH MACRON */
  {0x0113 , L  }, /* LATIN SMALL LETTER E WITH MACRON */
  {0x0114 , L  }, /* LATIN CAPITAL LETTER E WITH BREVE */
  {0x0115 , L  }, /* LATIN SMALL LETTER E WITH BREVE */
  {0x0116 , L  }, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
  {0x0117 , L  }, /* LATIN SMALL LETTER E WITH DOT ABOVE */
  {0x0118 , L  }, /* LATIN CAPITAL LETTER E WITH OGONEK */
  {0x0119 , L  }, /* LATIN SMALL LETTER E WITH OGONEK */
  {0x011A , L  }, /* LATIN CAPITAL LETTER E WITH CARON */
  {0x011B , L  }, /* LATIN SMALL LETTER E WITH CARON */
  {0x011C , L  }, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
  {0x011D , L  }, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */
  {0x011E , L  }, /* LATIN CAPITAL LETTER G WITH BREVE */
  {0x011F , L  }, /* LATIN SMALL LETTER G WITH BREVE */
  {0x0120 , L  }, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */
  {0x0121 , L  }, /* LATIN SMALL LETTER G WITH DOT ABOVE */
  {0x0122 , L  }, /* LATIN CAPITAL LETTER G WITH CEDILLA */
  {0x0123 , L  }, /* LATIN SMALL LETTER G WITH CEDILLA */
  {0x0124 , L  }, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
  {0x0125 , L  }, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */
  {0x0126 , L  }, /* LATIN CAPITAL LETTER H WITH STROKE */
  {0x0127 , L  }, /* LATIN SMALL LETTER H WITH STROKE */
  {0x0128 , L  }, /* LATIN CAPITAL LETTER I WITH TILDE */
  {0x0129 , L  }, /* LATIN SMALL LETTER I WITH TILDE */
  {0x012A , L  }, /* LATIN CAPITAL LETTER I WITH MACRON */
  {0x012B , L  }, /* LATIN SMALL LETTER I WITH MACRON */
  {0x012C , L  }, /* LATIN CAPITAL LETTER I WITH BREVE */
  {0x012D , L  }, /* LATIN SMALL LETTER I WITH BREVE */
  {0x012E , L  }, /* LATIN CAPITAL LETTER I WITH OGONEK */
  {0x012F , L  }, /* LATIN SMALL LETTER I WITH OGONEK */
  {0x0130 , L  }, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
  {0x0131 , L  }, /* LATIN SMALL LETTER DOTLESS I */
  {0x0132 , L  }, /* LATIN CAPITAL LIGATURE IJ */
  {0x0133 , L  }, /* LATIN SMALL LIGATURE IJ */
  {0x0134 , L  }, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
  {0x0135 , L  }, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */
  {0x0136 , L  }, /* LATIN CAPITAL LETTER K WITH CEDILLA */
  {0x0137 , L  }, /* LATIN SMALL LETTER K WITH CEDILLA */
  {0x0138 , L  }, /* LATIN SMALL LETTER KRA */
  {0x0139 , L  }, /* LATIN CAPITAL LETTER L WITH ACUTE */
  {0x013A , L  }, /* LATIN SMALL LETTER L WITH ACUTE */
  {0x013B , L  }, /* LATIN CAPITAL LETTER L WITH CEDILLA */
  {0x013C , L  }, /* LATIN SMALL LETTER L WITH CEDILLA */
  {0x013D , L  }, /* LATIN CAPITAL LETTER L WITH CARON */
  {0x013E , L  }, /* LATIN SMALL LETTER L WITH CARON */
  {0x013F , L  }, /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */
  {0x0140 , L  }, /* LATIN SMALL LETTER L WITH MIDDLE DOT */
  {0x0141 , L  }, /* LATIN CAPITAL LETTER L WITH STROKE */
  {0x0142 , L  }, /* LATIN SMALL LETTER L WITH STROKE */
  {0x0143 , L  }, /* LATIN CAPITAL LETTER N WITH ACUTE */
  {0x0144 , L  }, /* LATIN SMALL LETTER N WITH ACUTE */
  {0x0145 , L  }, /* LATIN CAPITAL LETTER N WITH CEDILLA */
  {0x0146 , L  }, /* LATIN SMALL LETTER N WITH CEDILLA */
  {0x0147 , L  }, /* LATIN CAPITAL LETTER N WITH CARON */
  {0x0148 , L  }, /* LATIN SMALL LETTER N WITH CARON */
  {0x0149 , L  }, /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
  {0x014A , L  }, /* LATIN CAPITAL LETTER ENG */
  {0x014B , L  }, /* LATIN SMALL LETTER ENG */
  {0x014C , L  }, /* LATIN CAPITAL LETTER O WITH MACRON */
  {0x014D , L  }, /* LATIN SMALL LETTER O WITH MACRON */
  {0x014E , L  }, /* LATIN CAPITAL LETTER O WITH BREVE */
  {0x014F , L  }, /* LATIN SMALL LETTER O WITH BREVE */
  {0x0150 , L  }, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
  {0x0151 , L  }, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */
  {0x0152 , L  }, /* LATIN CAPITAL LIGATURE OE */
  {0x0153 , L  }, /* LATIN SMALL LIGATURE OE */
  {0x0154 , L  }, /* LATIN CAPITAL LETTER R WITH ACUTE */
  {0x0155 , L  }, /* LATIN SMALL LETTER R WITH ACUTE */
  {0x0156 , L  }, /* LATIN CAPITAL LETTER R WITH CEDILLA */
  {0x0157 , L  }, /* LATIN SMALL LETTER R WITH CEDILLA */
  {0x0158 , L  }, /* LATIN CAPITAL LETTER R WITH CARON */
  {0x0159 , L  }, /* LATIN SMALL LETTER R WITH CARON */
  {0x015A , L  }, /* LATIN CAPITAL LETTER S WITH ACUTE */
  {0x015B , L  }, /* LATIN SMALL LETTER S WITH ACUTE */
  {0x015C , L  }, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
  {0x015D , L  }, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */
  {0x015E , L  }, /* LATIN CAPITAL LETTER S WITH CEDILLA */
  {0x015F , L  }, /* LATIN SMALL LETTER S WITH CEDILLA */
  {0x0160 , L  }, /* LATIN CAPITAL LETTER S WITH CARON */
  {0x0161 , L  }, /* LATIN SMALL LETTER S WITH CARON */
  {0x0162 , L  }, /* LATIN CAPITAL LETTER T WITH CEDILLA */
  {0x0163 , L  }, /* LATIN SMALL LETTER T WITH CEDILLA */
  {0x0164 , L  }, /* LATIN CAPITAL LETTER T WITH CARON */
  {0x0165 , L  }, /* LATIN SMALL LETTER T WITH CARON */
  {0x0166 , L  }, /* LATIN CAPITAL LETTER T WITH STROKE */
  {0x0167 , L  }, /* LATIN SMALL LETTER T WITH STROKE */
  {0x0168 , L  }, /* LATIN CAPITAL LETTER U WITH TILDE */
  {0x0169 , L  }, /* LATIN SMALL LETTER U WITH TILDE */
  {0x016A , L  }, /* LATIN CAPITAL LETTER U WITH MACRON */
  {0x016B , L  }, /* LATIN SMALL LETTER U WITH MACRON */
  {0x016C , L  }, /* LATIN CAPITAL LETTER U WITH BREVE */
  {0x016D , L  }, /* LATIN SMALL LETTER U WITH BREVE */
  {0x016E , L  }, /* LATIN CAPITAL LETTER U WITH RING ABOVE */
  {0x016F , L  }, /* LATIN SMALL LETTER U WITH RING ABOVE */
  {0x0170 , L  }, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
  {0x0171 , L  }, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */
  {0x0172 , L  }, /* LATIN CAPITAL LETTER U WITH OGONEK */
  {0x0173 , L  }, /* LATIN SMALL LETTER U WITH OGONEK */
  {0x0174 , L  }, /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
  {0x0175 , L  }, /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
  {0x0176 , L  }, /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
  {0x0177 , L  }, /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
  {0x0178 , L  }, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
  {0x0179 , L  }, /* LATIN CAPITAL LETTER Z WITH ACUTE */
  {0x017A , L  }, /* LATIN SMALL LETTER Z WITH ACUTE */
  {0x017B , L  }, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */
  {0x017C , L  }, /* LATIN SMALL LETTER Z WITH DOT ABOVE */
  {0x017D , L  }, /* LATIN CAPITAL LETTER Z WITH CARON */
  {0x017E , L  }, /* LATIN SMALL LETTER Z WITH CARON */
  {0x017F , L  }, /* LATIN SMALL LETTER LONG S */
  {0x0180 , L  }, /* LATIN SMALL LETTER B WITH STROKE */
  {0x0181 , L  }, /* LATIN CAPITAL LETTER B WITH HOOK */
  {0x0182 , L  }, /* LATIN CAPITAL LETTER B WITH TOPBAR */
  {0x0183 , L  }, /* LATIN SMALL LETTER B WITH TOPBAR */
  {0x0184 , L  }, /* LATIN CAPITAL LETTER TONE SIX */
  {0x0185 , L  }, /* LATIN SMALL LETTER TONE SIX */
  {0x0186 , L  }, /* LATIN CAPITAL LETTER OPEN O */
  {0x0187 , L  }, /* LATIN CAPITAL LETTER C WITH HOOK */
  {0x0188 , L  }, /* LATIN SMALL LETTER C WITH HOOK */
  {0x0189 , L  }, /* LATIN CAPITAL LETTER AFRICAN D */
  {0x018A , L  }, /* LATIN CAPITAL LETTER D WITH HOOK */
  {0x018B , L  }, /* LATIN CAPITAL LETTER D WITH TOPBAR */
  {0x018C , L  }, /* LATIN SMALL LETTER D WITH TOPBAR */
  {0x018D , L  }, /* LATIN SMALL LETTER TURNED DELTA */
  {0x018E , L  }, /* LATIN CAPITAL LETTER REVERSED E */
  {0x018F , L  }, /* LATIN CAPITAL LETTER SCHWA */
  {0x0190 , L  }, /* LATIN CAPITAL LETTER OPEN E */
  {0x0191 , L  }, /* LATIN CAPITAL LETTER F WITH HOOK */
  {0x0192 , L  }, /* LATIN SMALL LETTER F WITH HOOK */
  {0x0193 , L  }, /* LATIN CAPITAL LETTER G WITH HOOK */
  {0x0194 , L  }, /* LATIN CAPITAL LETTER GAMMA */
  {0x0195 , L  }, /* LATIN SMALL LETTER HV */
  {0x0196 , L  }, /* LATIN CAPITAL LETTER IOTA */
  {0x0197 , L  }, /* LATIN CAPITAL LETTER I WITH STROKE */
  {0x0198 , L  }, /* LATIN CAPITAL LETTER K WITH HOOK */
  {0x0199 , L  }, /* LATIN SMALL LETTER K WITH HOOK */
  {0x019A , L  }, /* LATIN SMALL LETTER L WITH BAR */
  {0x019B , L  }, /* LATIN SMALL LETTER LAMBDA WITH STROKE */
  {0x019C , L  }, /* LATIN CAPITAL LETTER TURNED M */
  {0x019D , L  }, /* LATIN CAPITAL LETTER N WITH LEFT HOOK */
  {0x019E , L  }, /* LATIN SMALL LETTER N WITH LONG RIGHT LEG */
  {0x019F , L  }, /* LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
  {0x01A0 , L  }, /* LATIN CAPITAL LETTER O WITH HORN */
  {0x01A1 , L  }, /* LATIN SMALL LETTER O WITH HORN */
  {0x01A2 , L  }, /* LATIN CAPITAL LETTER OI */
  {0x01A3 , L  }, /* LATIN SMALL LETTER OI */
  {0x01A4 , L  }, /* LATIN CAPITAL LETTER P WITH HOOK */
  {0x01A5 , L  }, /* LATIN SMALL LETTER P WITH HOOK */
  {0x01A6 , L  }, /* LATIN LETTER YR */
  {0x01A7 , L  }, /* LATIN CAPITAL LETTER TONE TWO */
  {0x01A8 , L  }, /* LATIN SMALL LETTER TONE TWO */
  {0x01A9 , L  }, /* LATIN CAPITAL LETTER ESH */
  {0x01AA , L  }, /* LATIN LETTER REVERSED ESH LOOP */
  {0x01AB , L  }, /* LATIN SMALL LETTER T WITH PALATAL HOOK */
  {0x01AC , L  }, /* LATIN CAPITAL LETTER T WITH HOOK */
  {0x01AD , L  }, /* LATIN SMALL LETTER T WITH HOOK */
  {0x01AE , L  }, /* LATIN CAPITAL LETTER T WITH RETROFLEX HOOK */
  {0x01AF , L  }, /* LATIN CAPITAL LETTER U WITH HORN */
  {0x01B0 , L  }, /* LATIN SMALL LETTER U WITH HORN */
  {0x01B1 , L  }, /* LATIN CAPITAL LETTER UPSILON */
  {0x01B2 , L  }, /* LATIN CAPITAL LETTER V WITH HOOK */
  {0x01B3 , L  }, /* LATIN CAPITAL LETTER Y WITH HOOK */
  {0x01B4 , L  }, /* LATIN SMALL LETTER Y WITH HOOK */
  {0x01B5 , L  }, /* LATIN CAPITAL LETTER Z WITH STROKE */
  {0x01B6 , L  }, /* LATIN SMALL LETTER Z WITH STROKE */
  {0x01B7 , L  }, /* LATIN CAPITAL LETTER EZH */
  {0x01B8 , L  }, /* LATIN CAPITAL LETTER EZH REVERSED */
  {0x01B9 , L  }, /* LATIN SMALL LETTER EZH REVERSED */
  {0x01BA , L  }, /* LATIN SMALL LETTER EZH WITH TAIL */
  {0x01BB , L  }, /* LATIN LETTER TWO WITH STROKE */
  {0x01BC , L  }, /* LATIN CAPITAL LETTER TONE FIVE */
  {0x01BD , L  }, /* LATIN SMALL LETTER TONE FIVE */
  {0x01BE , L  }, /* LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE */
  {0x01BF , L  }, /* LATIN LETTER WYNN */
  {0x01C0 , L  }, /* LATIN LETTER DENTAL CLICK */
  {0x01C1 , L  }, /* LATIN LETTER LATERAL CLICK */
  {0x01C2 , L  }, /* LATIN LETTER ALVEOLAR CLICK */
  {0x01C3 , L  }, /* LATIN LETTER RETROFLEX CLICK */
  {0x01C4 , L  }, /* LATIN CAPITAL LETTER DZ WITH CARON */
  {0x01C5 , L  }, /* LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON */
  {0x01C6 , L  }, /* LATIN SMALL LETTER DZ WITH CARON */
  {0x01C7 , L  }, /* LATIN CAPITAL LETTER LJ */
  {0x01C8 , L  }, /* LATIN CAPITAL LETTER L WITH SMALL LETTER J */
  {0x01C9 , L  }, /* LATIN SMALL LETTER LJ */
  {0x01CA , L  }, /* LATIN CAPITAL LETTER NJ */
  {0x01CB , L  }, /* LATIN CAPITAL LETTER N WITH SMALL LETTER J */
  {0x01CC , L  }, /* LATIN SMALL LETTER NJ */
  {0x01CD , L  }, /* LATIN CAPITAL LETTER A WITH CARON */
  {0x01CE , L  }, /* LATIN SMALL LETTER A WITH CARON */
  {0x01CF , L  }, /* LATIN CAPITAL LETTER I WITH CARON */
  {0x01D0 , L  }, /* LATIN SMALL LETTER I WITH CARON */
  {0x01D1 , L  }, /* LATIN CAPITAL LETTER O WITH CARON */
  {0x01D2 , L  }, /* LATIN SMALL LETTER O WITH CARON */
  {0x01D3 , L  }, /* LATIN CAPITAL LETTER U WITH CARON */
  {0x01D4 , L  }, /* LATIN SMALL LETTER U WITH CARON */
  {0x01D5 , L  }, /* LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON */
  {0x01D6 , L  }, /* LATIN SMALL LETTER U WITH DIAERESIS AND MACRON */
  {0x01D7 , L  }, /* LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE */
  {0x01D8 , L  }, /* LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE */
  {0x01D9 , L  }, /* LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON */
  {0x01DA , L  }, /* LATIN SMALL LETTER U WITH DIAERESIS AND CARON */
  {0x01DB , L  }, /* LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE */
  {0x01DC , L  }, /* LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE */
  {0x01DD , L  }, /* LATIN SMALL LETTER TURNED E */
  {0x01DE , L  }, /* LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON */
  {0x01DF , L  }, /* LATIN SMALL LETTER A WITH DIAERESIS AND MACRON */
  {0x01E0 , L  }, /* LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON */
  {0x01E1 , L  }, /* LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON */
  {0x01E2 , L  }, /* LATIN CAPITAL LETTER AE WITH MACRON */
  {0x01E3 , L  }, /* LATIN SMALL LETTER AE WITH MACRON */
  {0x01E4 , L  }, /* LATIN CAPITAL LETTER G WITH STROKE */
  {0x01E5 , L  }, /* LATIN SMALL LETTER G WITH STROKE */
  {0x01E6 , L  }, /* LATIN CAPITAL LETTER G WITH CARON */
  {0x01E7 , L  }, /* LATIN SMALL LETTER G WITH CARON */
  {0x01E8 , L  }, /* LATIN CAPITAL LETTER K WITH CARON */
  {0x01E9 , L  }, /* LATIN SMALL LETTER K WITH CARON */
  {0x01EA , L  }, /* LATIN CAPITAL LETTER O WITH OGONEK */
  {0x01EB , L  }, /* LATIN SMALL LETTER O WITH OGONEK */
  {0x01EC , L  }, /* LATIN CAPITAL LETTER O WITH OGONEK AND MACRON */
  {0x01ED , L  }, /* LATIN SMALL LETTER O WITH OGONEK AND MACRON */
  {0x01EE , L  }, /* LATIN CAPITAL LETTER EZH WITH CARON */
  {0x01EF , L  }, /* LATIN SMALL LETTER EZH WITH CARON */
  {0x01F0 , L  }, /* LATIN SMALL LETTER J WITH CARON */
  {0x01F1 , L  }, /* LATIN CAPITAL LETTER DZ */
  {0x01F2 , L  }, /* LATIN CAPITAL LETTER D WITH SMALL LETTER Z */
  {0x01F3 , L  }, /* LATIN SMALL LETTER DZ */
  {0x01F4 , L  }, /* LATIN CAPITAL LETTER G WITH ACUTE */
  {0x01F5 , L  }, /* LATIN SMALL LETTER G WITH ACUTE */
  {0x01F6 , L  }, /* LATIN CAPITAL LETTER HWAIR */
  {0x01F7 , L  }, /* LATIN CAPITAL LETTER WYNN */
  {0x01F8 , L  }, /* LATIN CAPITAL LETTER N WITH GRAVE */
  {0x01F9 , L  }, /* LATIN SMALL LETTER N WITH GRAVE */
  {0x01FA , L  }, /* LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE */
  {0x01FB , L  }, /* LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE */
  {0x01FC , L  }, /* LATIN CAPITAL LETTER AE WITH ACUTE */
  {0x01FD , L  }, /* LATIN SMALL LETTER AE WITH ACUTE */
  {0x01FE , L  }, /* LATIN CAPITAL LETTER O WITH STROKE AND ACUTE */
  {0x01FF , L  }, /* LATIN SMALL LETTER O WITH STROKE AND ACUTE */
  {0x0200 , L  }, /* LATIN CAPITAL LETTER A WITH DOUBLE GRAVE */
  {0x0201 , L  }, /* LATIN SMALL LETTER A WITH DOUBLE GRAVE */
  {0x0202 , L  }, /* LATIN CAPITAL LETTER A WITH INVERTED BREVE */
  {0x0203 , L  }, /* LATIN SMALL LETTER A WITH INVERTED BREVE */
  {0x0204 , L  }, /* LATIN CAPITAL LETTER E WITH DOUBLE GRAVE */
  {0x0205 , L  }, /* LATIN SMALL LETTER E WITH DOUBLE GRAVE */
  {0x0206 , L  }, /* LATIN CAPITAL LETTER E WITH INVERTED BREVE */
  {0x0207 , L  }, /* LATIN SMALL LETTER E WITH INVERTED BREVE */
  {0x0208 , L  }, /* LATIN CAPITAL LETTER I WITH DOUBLE GRAVE */
  {0x0209 , L  }, /* LATIN SMALL LETTER I WITH DOUBLE GRAVE */
  {0x020A , L  }, /* LATIN CAPITAL LETTER I WITH INVERTED BREVE */
  {0x020B , L  }, /* LATIN SMALL LETTER I WITH INVERTED BREVE */
  {0x020C , L  }, /* LATIN CAPITAL LETTER O WITH DOUBLE GRAVE */
  {0x020D , L  }, /* LATIN SMALL LETTER O WITH DOUBLE GRAVE */
  {0x020E , L  }, /* LATIN CAPITAL LETTER O WITH INVERTED BREVE */
  {0x020F , L  }, /* LATIN SMALL LETTER O WITH INVERTED BREVE */
  {0x0210 , L  }, /* LATIN CAPITAL LETTER R WITH DOUBLE GRAVE */
  {0x0211 , L  }, /* LATIN SMALL LETTER R WITH DOUBLE GRAVE */
  {0x0212 , L  }, /* LATIN CAPITAL LETTER R WITH INVERTED BREVE */
  {0x0213 , L  }, /* LATIN SMALL LETTER R WITH INVERTED BREVE */
  {0x0214 , L  }, /* LATIN CAPITAL LETTER U WITH DOUBLE GRAVE */
  {0x0215 , L  }, /* LATIN SMALL LETTER U WITH DOUBLE GRAVE */
  {0x0216 , L  }, /* LATIN CAPITAL LETTER U WITH INVERTED BREVE */
  {0x0217 , L  }, /* LATIN SMALL LETTER U WITH INVERTED BREVE */
  {0x0218 , L  }, /* LATIN CAPITAL LETTER S WITH COMMA BELOW */
  {0x0219 , L  }, /* LATIN SMALL LETTER S WITH COMMA BELOW */
  {0x021A , L  }, /* LATIN CAPITAL LETTER T WITH COMMA BELOW */
  {0x021B , L  }, /* LATIN SMALL LETTER T WITH COMMA BELOW */
  {0x021C , L  }, /* LATIN CAPITAL LETTER YOGH */
  {0x021D , L  }, /* LATIN SMALL LETTER YOGH */
  {0x021E , L  }, /* LATIN CAPITAL LETTER H WITH CARON */
  {0x021F , L  }, /* LATIN SMALL LETTER H WITH CARON */
  {0x0220 , L  }, /* LATIN CAPITAL LETTER N WITH LONG RIGHT LEG */
  {0x0221 , L  }, /* LATIN SMALL LETTER D WITH CURL */
  {0x0222 , L  }, /* LATIN CAPITAL LETTER OU */
  {0x0223 , L  }, /* LATIN SMALL LETTER OU */
  {0x0224 , L  }, /* LATIN CAPITAL LETTER Z WITH HOOK */
  {0x0225 , L  }, /* LATIN SMALL LETTER Z WITH HOOK */
  {0x0226 , L  }, /* LATIN CAPITAL LETTER A WITH DOT ABOVE */
  {0x0227 , L  }, /* LATIN SMALL LETTER A WITH DOT ABOVE */
  {0x0228 , L  }, /* LATIN CAPITAL LETTER E WITH CEDILLA */
  {0x0229 , L  }, /* LATIN SMALL LETTER E WITH CEDILLA */
  {0x022A , L  }, /* LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON */
  {0x022B , L  }, /* LATIN SMALL LETTER O WITH DIAERESIS AND MACRON */
  {0x022C , L  }, /* LATIN CAPITAL LETTER O WITH TILDE AND MACRON */
  {0x022D , L  }, /* LATIN SMALL LETTER O WITH TILDE AND MACRON */
  {0x022E , L  }, /* LATIN CAPITAL LETTER O WITH DOT ABOVE */
  {0x022F , L  }, /* LATIN SMALL LETTER O WITH DOT ABOVE */
  {0x0230 , L  }, /* LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON */
  {0x0231 , L  }, /* LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON */
  {0x0232 , L  }, /* LATIN CAPITAL LETTER Y WITH MACRON */
  {0x0233 , L  }, /* LATIN SMALL LETTER Y WITH MACRON */
  {0x0234 , L  }, /* LATIN SMALL LETTER L WITH CURL */
  {0x0235 , L  }, /* LATIN SMALL LETTER N WITH CURL */
  {0x0236 , L  }, /* LATIN SMALL LETTER T WITH CURL */
  {0x0237 , L  }, /* LATIN SMALL LETTER DOTLESS J */
  {0x0238 , L  }, /* LATIN SMALL LETTER DB DIGRAPH */
  {0x0239 , L  }, /* LATIN SMALL LETTER QP DIGRAPH */
  {0x023A , L  }, /* LATIN CAPITAL LETTER A WITH STROKE */
  {0x023B , L  }, /* LATIN CAPITAL LETTER C WITH STROKE */
  {0x023C , L  }, /* LATIN SMALL LETTER C WITH STROKE */
  {0x023D , L  }, /* LATIN CAPITAL LETTER L WITH BAR */
  {0x023E , L  }, /* LATIN CAPITAL LETTER T WITH DIAGONAL STROKE */
  {0x023F , L  }, /* LATIN SMALL LETTER S WITH SWASH TAIL */
  {0x0240 , L  }, /* LATIN SMALL LETTER Z WITH SWASH TAIL */
  {0x0241 , L  }, /* LATIN CAPITAL LETTER GLOTTAL STOP */
  {0x0250 , L  }, /* LATIN SMALL LETTER TURNED A */
  {0x0251 , L  }, /* LATIN SMALL LETTER ALPHA */
  {0x0252 , L  }, /* LATIN SMALL LETTER TURNED ALPHA */
  {0x0253 , L  }, /* LATIN SMALL LETTER B WITH HOOK */
  {0x0254 , L  }, /* LATIN SMALL LETTER OPEN O */
  {0x0255 , L  }, /* LATIN SMALL LETTER C WITH CURL */
  {0x0256 , L  }, /* LATIN SMALL LETTER D WITH TAIL */
  {0x0257 , L  }, /* LATIN SMALL LETTER D WITH HOOK */
  {0x0258 , L  }, /* LATIN SMALL LETTER REVERSED E */
  {0x0259 , L  }, /* LATIN SMALL LETTER SCHWA */
  {0x025A , L  }, /* LATIN SMALL LETTER SCHWA WITH HOOK */
  {0x025B , L  }, /* LATIN SMALL LETTER OPEN E */
  {0x025C , L  }, /* LATIN SMALL LETTER REVERSED OPEN E */
  {0x025D , L  }, /* LATIN SMALL LETTER REVERSED OPEN E WITH HOOK */
  {0x025E , L  }, /* LATIN SMALL LETTER CLOSED REVERSED OPEN E */
  {0x025F , L  }, /* LATIN SMALL LETTER DOTLESS J WITH STROKE */
  {0x0260 , L  }, /* LATIN SMALL LETTER G WITH HOOK */
  {0x0261 , L  }, /* LATIN SMALL LETTER SCRIPT G */
  {0x0262 , L  }, /* LATIN LETTER SMALL CAPITAL G */
  {0x0263 , L  }, /* LATIN SMALL LETTER GAMMA */
  {0x0264 , L  }, /* LATIN SMALL LETTER RAMS HORN */
  {0x0265 , L  }, /* LATIN SMALL LETTER TURNED H */
  {0x0266 , L  }, /* LATIN SMALL LETTER H WITH HOOK */
  {0x0267 , L  }, /* LATIN SMALL LETTER HENG WITH HOOK */
  {0x0268 , L  }, /* LATIN SMALL LETTER I WITH STROKE */
  {0x0269 , L  }, /* LATIN SMALL LETTER IOTA */
  {0x026A , L  }, /* LATIN LETTER SMALL CAPITAL I */
  {0x026B , L  }, /* LATIN SMALL LETTER L WITH MIDDLE TILDE */
  {0x026C , L  }, /* LATIN SMALL LETTER L WITH BELT */
  {0x026D , L  }, /* LATIN SMALL LETTER L WITH RETROFLEX HOOK */
  {0x026E , L  }, /* LATIN SMALL LETTER LEZH */
  {0x026F , L  }, /* LATIN SMALL LETTER TURNED M */
  {0x0270 , L  }, /* LATIN SMALL LETTER TURNED M WITH LONG LEG */
  {0x0271 , L  }, /* LATIN SMALL LETTER M WITH HOOK */
  {0x0272 , L  }, /* LATIN SMALL LETTER N WITH LEFT HOOK */
  {0x0273 , L  }, /* LATIN SMALL LETTER N WITH RETROFLEX HOOK */
  {0x0274 , L  }, /* LATIN LETTER SMALL CAPITAL N */
  {0x0275 , L  }, /* LATIN SMALL LETTER BARRED O */
  {0x0276 , L  }, /* LATIN LETTER SMALL CAPITAL OE */
  {0x0277 , L  }, /* LATIN SMALL LETTER CLOSED OMEGA */
  {0x0278 , L  }, /* LATIN SMALL LETTER PHI */
  {0x0279 , L  }, /* LATIN SMALL LETTER TURNED R */
  {0x027A , L  }, /* LATIN SMALL LETTER TURNED R WITH LONG LEG */
  {0x027B , L  }, /* LATIN SMALL LETTER TURNED R WITH HOOK */
  {0x027C , L  }, /* LATIN SMALL LETTER R WITH LONG LEG */
  {0x027D , L  }, /* LATIN SMALL LETTER R WITH TAIL */
  {0x027E , L  }, /* LATIN SMALL LETTER R WITH FISHHOOK */
  {0x027F , L  }, /* LATIN SMALL LETTER REVERSED R WITH FISHHOOK */
  {0x0280 , L  }, /* LATIN LETTER SMALL CAPITAL R */
  {0x0281 , L  }, /* LATIN LETTER SMALL CAPITAL INVERTED R */
  {0x0282 , L  }, /* LATIN SMALL LETTER S WITH HOOK */
  {0x0283 , L  }, /* LATIN SMALL LETTER ESH */
  {0x0284 , L  }, /* LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK */
  {0x0285 , L  }, /* LATIN SMALL LETTER SQUAT REVERSED ESH */
  {0x0286 , L  }, /* LATIN SMALL LETTER ESH WITH CURL */
  {0x0287 , L  }, /* LATIN SMALL LETTER TURNED T */
  {0x0288 , L  }, /* LATIN SMALL LETTER T WITH RETROFLEX HOOK */
  {0x0289 , L  }, /* LATIN SMALL LETTER U BAR */
  {0x028A , L  }, /* LATIN SMALL LETTER UPSILON */
  {0x028B , L  }, /* LATIN SMALL LETTER V WITH HOOK */
  {0x028C , L  }, /* LATIN SMALL LETTER TURNED V */
  {0x028D , L  }, /* LATIN SMALL LETTER TURNED W */
  {0x028E , L  }, /* LATIN SMALL LETTER TURNED Y */
  {0x028F , L  }, /* LATIN LETTER SMALL CAPITAL Y */
  {0x0290 , L  }, /* LATIN SMALL LETTER Z WITH RETROFLEX HOOK */
  {0x0291 , L  }, /* LATIN SMALL LETTER Z WITH CURL */
  {0x0292 , L  }, /* LATIN SMALL LETTER EZH */
  {0x0293 , L  }, /* LATIN SMALL LETTER EZH WITH CURL */
  {0x0294 , L  }, /* LATIN LETTER GLOTTAL STOP */
  {0x0295 , L  }, /* LATIN LETTER PHARYNGEAL VOICED FRICATIVE */
  {0x0296 , L  }, /* LATIN LETTER INVERTED GLOTTAL STOP */
  {0x0297 , L  }, /* LATIN LETTER STRETCHED C */
  {0x0298 , L  }, /* LATIN LETTER BILABIAL CLICK */
  {0x0299 , L  }, /* LATIN LETTER SMALL CAPITAL B */
  {0x029A , L  }, /* LATIN SMALL LETTER CLOSED OPEN E */
  {0x029B , L  }, /* LATIN LETTER SMALL CAPITAL G WITH HOOK */
  {0x029C , L  }, /* LATIN LETTER SMALL CAPITAL H */
  {0x029D , L  }, /* LATIN SMALL LETTER J WITH CROSSED-TAIL */
  {0x029E , L  }, /* LATIN SMALL LETTER TURNED K */
  {0x029F , L  }, /* LATIN LETTER SMALL CAPITAL L */
  {0x02A0 , L  }, /* LATIN SMALL LETTER Q WITH HOOK */
  {0x02A1 , L  }, /* LATIN LETTER GLOTTAL STOP WITH STROKE */
  {0x02A2 , L  }, /* LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE */
  {0x02A3 , L  }, /* LATIN SMALL LETTER DZ DIGRAPH */
  {0x02A4 , L  }, /* LATIN SMALL LETTER DEZH DIGRAPH */
  {0x02A5 , L  }, /* LATIN SMALL LETTER DZ DIGRAPH WITH CURL */
  {0x02A6 , L  }, /* LATIN SMALL LETTER TS DIGRAPH */
  {0x02A7 , L  }, /* LATIN SMALL LETTER TESH DIGRAPH */
  {0x02A8 , L  }, /* LATIN SMALL LETTER TC DIGRAPH WITH CURL */
  {0x02A9 , L  }, /* LATIN SMALL LETTER FENG DIGRAPH */
  {0x02AA , L  }, /* LATIN SMALL LETTER LS DIGRAPH */
  {0x02AB , L  }, /* LATIN SMALL LETTER LZ DIGRAPH */
  {0x02AC , L  }, /* LATIN LETTER BILABIAL PERCUSSIVE */
  {0x02AD , L  }, /* LATIN LETTER BIDENTAL PERCUSSIVE */
  {0x02AE , L  }, /* LATIN SMALL LETTER TURNED H WITH FISHHOOK */
  {0x02AF , L  }, /* LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL */
  {0x02B0 , L  }, /* MODIFIER LETTER SMALL H */
  {0x02B1 , L  }, /* MODIFIER LETTER SMALL H WITH HOOK */
  {0x02B2 , L  }, /* MODIFIER LETTER SMALL J */
  {0x02B3 , L  }, /* MODIFIER LETTER SMALL R */
  {0x02B4 , L  }, /* MODIFIER LETTER SMALL TURNED R */
  {0x02B5 , L  }, /* MODIFIER LETTER SMALL TURNED R WITH HOOK */
  {0x02B6 , L  }, /* MODIFIER LETTER SMALL CAPITAL INVERTED R */
  {0x02B7 , L  }, /* MODIFIER LETTER SMALL W */
  {0x02B8 , L  }, /* MODIFIER LETTER SMALL Y */
  {0x02B9 , ON }, /* MODIFIER LETTER PRIME */
  {0x02BA , ON }, /* MODIFIER LETTER DOUBLE PRIME */
  {0x02BB , L  }, /* MODIFIER LETTER TURNED COMMA */
  {0x02BC , L  }, /* MODIFIER LETTER APOSTROPHE */
  {0x02BD , L  }, /* MODIFIER LETTER REVERSED COMMA */
  {0x02BE , L  }, /* MODIFIER LETTER RIGHT HALF RING */
  {0x02BF , L  }, /* MODIFIER LETTER LEFT HALF RING */
  {0x02C0 , L  }, /* MODIFIER LETTER GLOTTAL STOP */
  {0x02C1 , L  }, /* MODIFIER LETTER REVERSED GLOTTAL STOP */
  {0x02C2 , ON }, /* MODIFIER LETTER LEFT ARROWHEAD */
  {0x02C3 , ON }, /* MODIFIER LETTER RIGHT ARROWHEAD */
  {0x02C4 , ON }, /* MODIFIER LETTER UP ARROWHEAD */
  {0x02C5 , ON }, /* MODIFIER LETTER DOWN ARROWHEAD */
  {0x02C6 , ON }, /* MODIFIER LETTER CIRCUMFLEX ACCENT */
  {0x02C7 , ON }, /* CARON */
  {0x02C8 , ON }, /* MODIFIER LETTER VERTICAL LINE */
  {0x02C9 , ON }, /* MODIFIER LETTER MACRON */
  {0x02CA , ON }, /* MODIFIER LETTER ACUTE ACCENT */
  {0x02CB , ON }, /* MODIFIER LETTER GRAVE ACCENT */
  {0x02CC , ON }, /* MODIFIER LETTER LOW VERTICAL LINE */
  {0x02CD , ON }, /* MODIFIER LETTER LOW MACRON */
  {0x02CE , ON }, /* MODIFIER LETTER LOW GRAVE ACCENT */
  {0x02CF , ON }, /* MODIFIER LETTER LOW ACUTE ACCENT */
  {0x02D0 , L  }, /* MODIFIER LETTER TRIANGULAR COLON */
  {0x02D1 , L  }, /* MODIFIER LETTER HALF TRIANGULAR COLON */
  {0x02D2 , ON }, /* MODIFIER LETTER CENTRED RIGHT HALF RING */
  {0x02D3 , ON }, /* MODIFIER LETTER CENTRED LEFT HALF RING */
  {0x02D4 , ON }, /* MODIFIER LETTER UP TACK */
  {0x02D5 , ON }, /* MODIFIER LETTER DOWN TACK */
  {0x02D6 , ON }, /* MODIFIER LETTER PLUS SIGN */
  {0x02D7 , ON }, /* MODIFIER LETTER MINUS SIGN */
  {0x02D8 , ON }, /* BREVE */
  {0x02D9 , ON }, /* DOT ABOVE */
  {0x02DA , ON }, /* RING ABOVE */
  {0x02DB , ON }, /* OGONEK */
  {0x02DC , ON }, /* SMALL TILDE */
  {0x02DD , ON }, /* DOUBLE ACUTE ACCENT */
  {0x02DE , ON }, /* MODIFIER LETTER RHOTIC HOOK */
  {0x02DF , ON }, /* MODIFIER LETTER CROSS ACCENT */
  {0x02E0 , L  }, /* MODIFIER LETTER SMALL GAMMA */
  {0x02E1 , L  }, /* MODIFIER LETTER SMALL L */
  {0x02E2 , L  }, /* MODIFIER LETTER SMALL S */
  {0x02E3 , L  }, /* MODIFIER LETTER SMALL X */
  {0x02E4 , L  }, /* MODIFIER LETTER SMALL REVERSED GLOTTAL STOP */
  {0x02E5 , ON }, /* MODIFIER LETTER EXTRA-HIGH TONE BAR */
  {0x02E6 , ON }, /* MODIFIER LETTER HIGH TONE BAR */
  {0x02E7 , ON }, /* MODIFIER LETTER MID TONE BAR */
  {0x02E8 , ON }, /* MODIFIER LETTER LOW TONE BAR */
  {0x02E9 , ON }, /* MODIFIER LETTER EXTRA-LOW TONE BAR */
  {0x02EA , ON }, /* MODIFIER LETTER YIN DEPARTING TONE MARK */
  {0x02EB , ON }, /* MODIFIER LETTER YANG DEPARTING TONE MARK */
  {0x02EC , ON }, /* MODIFIER LETTER VOICING */
  {0x02ED , ON }, /* MODIFIER LETTER UNASPIRATED */
  {0x02EE , L  }, /* MODIFIER LETTER DOUBLE APOSTROPHE */
  {0x02EF , ON }, /* MODIFIER LETTER LOW DOWN ARROWHEAD */
  {0x02F0 , ON }, /* MODIFIER LETTER LOW UP ARROWHEAD */
  {0x02F1 , ON }, /* MODIFIER LETTER LOW LEFT ARROWHEAD */
  {0x02F2 , ON }, /* MODIFIER LETTER LOW RIGHT ARROWHEAD */
  {0x02F3 , ON }, /* MODIFIER LETTER LOW RING */
  {0x02F4 , ON }, /* MODIFIER LETTER MIDDLE GRAVE ACCENT */
  {0x02F5 , ON }, /* MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT */
  {0x02F6 , ON }, /* MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT */
  {0x02F7 , ON }, /* MODIFIER LETTER LOW TILDE */
  {0x02F8 , ON }, /* MODIFIER LETTER RAISED COLON */
  {0x02F9 , ON }, /* MODIFIER LETTER BEGIN HIGH TONE */
  {0x02FA , ON }, /* MODIFIER LETTER END HIGH TONE */
  {0x02FB , ON }, /* MODIFIER LETTER BEGIN LOW TONE */
  {0x02FC , ON }, /* MODIFIER LETTER END LOW TONE */
  {0x02FD , ON }, /* MODIFIER LETTER SHELF */
  {0x02FE , ON }, /* MODIFIER LETTER OPEN SHELF */
  {0x02FF , ON }, /* MODIFIER LETTER LOW LEFT ARROW */
  {0x0300 , NSM}, /* COMBINING GRAVE ACCENT */
  {0x0301 , NSM}, /* COMBINING ACUTE ACCENT */
  {0x0302 , NSM}, /* COMBINING CIRCUMFLEX ACCENT */
  {0x0303 , NSM}, /* COMBINING TILDE */
  {0x0304 , NSM}, /* COMBINING MACRON */
  {0x0305 , NSM}, /* COMBINING OVERLINE */
  {0x0306 , NSM}, /* COMBINING BREVE */
  {0x0307 , NSM}, /* COMBINING DOT ABOVE */
  {0x0308 , NSM}, /* COMBINING DIAERESIS */
  {0x0309 , NSM}, /* COMBINING HOOK ABOVE */
  {0x030A , NSM}, /* COMBINING RING ABOVE */
  {0x030B , NSM}, /* COMBINING DOUBLE ACUTE ACCENT */
  {0x030C , NSM}, /* COMBINING CARON */
  {0x030D , NSM}, /* COMBINING VERTICAL LINE ABOVE */
  {0x030E , NSM}, /* COMBINING DOUBLE VERTICAL LINE ABOVE */
  {0x030F , NSM}, /* COMBINING DOUBLE GRAVE ACCENT */
  {0x0310 , NSM}, /* COMBINING CANDRABINDU */
  {0x0311 , NSM}, /* COMBINING INVERTED BREVE */
  {0x0312 , NSM}, /* COMBINING TURNED COMMA ABOVE */
  {0x0313 , NSM}, /* COMBINING COMMA ABOVE */
  {0x0314 , NSM}, /* COMBINING REVERSED COMMA ABOVE */
  {0x0315 , NSM}, /* COMBINING COMMA ABOVE RIGHT */
  {0x0316 , NSM}, /* COMBINING GRAVE ACCENT BELOW */
  {0x0317 , NSM}, /* COMBINING ACUTE ACCENT BELOW */
  {0x0318 , NSM}, /* COMBINING LEFT TACK BELOW */
  {0x0319 , NSM}, /* COMBINING RIGHT TACK BELOW */
  {0x031A , NSM}, /* COMBINING LEFT ANGLE ABOVE */
  {0x031B , NSM}, /* COMBINING HORN */
  {0x031C , NSM}, /* COMBINING LEFT HALF RING BELOW */
  {0x031D , NSM}, /* COMBINING UP TACK BELOW */
  {0x031E , NSM}, /* COMBINING DOWN TACK BELOW */
  {0x031F , NSM}, /* COMBINING PLUS SIGN BELOW */
  {0x0320 , NSM}, /* COMBINING MINUS SIGN BELOW */
  {0x0321 , NSM}, /* COMBINING PALATALIZED HOOK BELOW */
  {0x0322 , NSM}, /* COMBINING RETROFLEX HOOK BELOW */
  {0x0323 , NSM}, /* COMBINING DOT BELOW */
  {0x0324 , NSM}, /* COMBINING DIAERESIS BELOW */
  {0x0325 , NSM}, /* COMBINING RING BELOW */
  {0x0326 , NSM}, /* COMBINING COMMA BELOW */
  {0x0327 , NSM}, /* COMBINING CEDILLA */
  {0x0328 , NSM}, /* COMBINING OGONEK */
  {0x0329 , NSM}, /* COMBINING VERTICAL LINE BELOW */
  {0x032A , NSM}, /* COMBINING BRIDGE BELOW */
  {0x032B , NSM}, /* COMBINING INVERTED DOUBLE ARCH BELOW */
  {0x032C , NSM}, /* COMBINING CARON BELOW */
  {0x032D , NSM}, /* COMBINING CIRCUMFLEX ACCENT BELOW */
  {0x032E , NSM}, /* COMBINING BREVE BELOW */
  {0x032F , NSM}, /* COMBINING INVERTED BREVE BELOW */
  {0x0330 , NSM}, /* COMBINING TILDE BELOW */
  {0x0331 , NSM}, /* COMBINING MACRON BELOW */
  {0x0332 , NSM}, /* COMBINING LOW LINE */
  {0x0333 , NSM}, /* COMBINING DOUBLE LOW LINE */
  {0x0334 , NSM}, /* COMBINING TILDE OVERLAY */
  {0x0335 , NSM}, /* COMBINING SHORT STROKE OVERLAY */
  {0x0336 , NSM}, /* COMBINING LONG STROKE OVERLAY */
  {0x0337 , NSM}, /* COMBINING SHORT SOLIDUS OVERLAY */
  {0x0338 , NSM}, /* COMBINING LONG SOLIDUS OVERLAY */
  {0x0339 , NSM}, /* COMBINING RIGHT HALF RING BELOW */
  {0x033A , NSM}, /* COMBINING INVERTED BRIDGE BELOW */
  {0x033B , NSM}, /* COMBINING SQUARE BELOW */
  {0x033C , NSM}, /* COMBINING SEAGULL BELOW */
  {0x033D , NSM}, /* COMBINING X ABOVE */
  {0x033E , NSM}, /* COMBINING VERTICAL TILDE */
  {0x033F , NSM}, /* COMBINING DOUBLE OVERLINE */
  {0x0340 , NSM}, /* COMBINING GRAVE TONE MARK */
  {0x0341 , NSM}, /* COMBINING ACUTE TONE MARK */
  {0x0342 , NSM}, /* COMBINING GREEK PERISPOMENI */
  {0x0343 , NSM}, /* COMBINING GREEK KORONIS */
  {0x0344 , NSM}, /* COMBINING GREEK DIALYTIKA TONOS */
  {0x0345 , NSM}, /* COMBINING GREEK YPOGEGRAMMENI */
  {0x0346 , NSM}, /* COMBINING BRIDGE ABOVE */
  {0x0347 , NSM}, /* COMBINING EQUALS SIGN BELOW */
  {0x0348 , NSM}, /* COMBINING DOUBLE VERTICAL LINE BELOW */
  {0x0349 , NSM}, /* COMBINING LEFT ANGLE BELOW */
  {0x034A , NSM}, /* COMBINING NOT TILDE ABOVE */
  {0x034B , NSM}, /* COMBINING HOMOTHETIC ABOVE */
  {0x034C , NSM}, /* COMBINING ALMOST EQUAL TO ABOVE */
  {0x034D , NSM}, /* COMBINING LEFT RIGHT ARROW BELOW */
  {0x034E , NSM}, /* COMBINING UPWARDS ARROW BELOW */
  {0x034F , NSM}, /* COMBINING GRAPHEME JOINER */
  {0x0350 , NSM}, /* COMBINING RIGHT ARROWHEAD ABOVE */
  {0x0351 , NSM}, /* COMBINING LEFT HALF RING ABOVE */
  {0x0352 , NSM}, /* COMBINING FERMATA */
  {0x0353 , NSM}, /* COMBINING X BELOW */
  {0x0354 , NSM}, /* COMBINING LEFT ARROWHEAD BELOW */
  {0x0355 , NSM}, /* COMBINING RIGHT ARROWHEAD BELOW */
  {0x0356 , NSM}, /* COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW */
  {0x0357 , NSM}, /* COMBINING RIGHT HALF RING ABOVE */
  {0x0358 , NSM}, /* COMBINING DOT ABOVE RIGHT */
  {0x0359 , NSM}, /* COMBINING ASTERISK BELOW */
  {0x035A , NSM}, /* COMBINING DOUBLE RING BELOW */
  {0x035B , NSM}, /* COMBINING ZIGZAG ABOVE */
  {0x035C , NSM}, /* COMBINING DOUBLE BREVE BELOW */
  {0x035D , NSM}, /* COMBINING DOUBLE BREVE */
  {0x035E , NSM}, /* COMBINING DOUBLE MACRON */
  {0x035F , NSM}, /* COMBINING DOUBLE MACRON BELOW */
  {0x0360 , NSM}, /* COMBINING DOUBLE TILDE */
  {0x0361 , NSM}, /* COMBINING DOUBLE INVERTED BREVE */
  {0x0362 , NSM}, /* COMBINING DOUBLE RIGHTWARDS ARROW BELOW */
  {0x0363 , NSM}, /* COMBINING LATIN SMALL LETTER A */
  {0x0364 , NSM}, /* COMBINING LATIN SMALL LETTER E */
  {0x0365 , NSM}, /* COMBINING LATIN SMALL LETTER I */
  {0x0366 , NSM}, /* COMBINING LATIN SMALL LETTER O */
  {0x0367 , NSM}, /* COMBINING LATIN SMALL LETTER U */
  {0x0368 , NSM}, /* COMBINING LATIN SMALL LETTER C */
  {0x0369 , NSM}, /* COMBINING LATIN SMALL LETTER D */
  {0x036A , NSM}, /* COMBINING LATIN SMALL LETTER H */
  {0x036B , NSM}, /* COMBINING LATIN SMALL LETTER M */
  {0x036C , NSM}, /* COMBINING LATIN SMALL LETTER R */
  {0x036D , NSM}, /* COMBINING LATIN SMALL LETTER T */
  {0x036E , NSM}, /* COMBINING LATIN SMALL LETTER V */
  {0x036F , NSM}, /* COMBINING LATIN SMALL LETTER X */
  {0x0374 , ON }, /* GREEK NUMERAL SIGN */
  {0x0375 , ON }, /* GREEK LOWER NUMERAL SIGN */
  {0x037A , L  }, /* GREEK YPOGEGRAMMENI */
  {0x037E , ON }, /* GREEK QUESTION MARK */
  {0x0384 , ON }, /* GREEK TONOS */
  {0x0385 , ON }, /* GREEK DIALYTIKA TONOS */
  {0x0386 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */
  {0x0387 , ON }, /* GREEK ANO TELEIA */
  {0x0388 , L  }, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */
  {0x0389 , L  }, /* GREEK CAPITAL LETTER ETA WITH TONOS */
  {0x038A , L  }, /* GREEK CAPITAL LETTER IOTA WITH TONOS */
  {0x038C , L  }, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */
  {0x038E , L  }, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */
  {0x038F , L  }, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */
  {0x0390 , L  }, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
  {0x0391 , L  }, /* GREEK CAPITAL LETTER ALPHA */
  {0x0392 , L  }, /* GREEK CAPITAL LETTER BETA */
  {0x0393 , L  }, /* GREEK CAPITAL LETTER GAMMA */
  {0x0394 , L  }, /* GREEK CAPITAL LETTER DELTA */
  {0x0395 , L  }, /* GREEK CAPITAL LETTER EPSILON */
  {0x0396 , L  }, /* GREEK CAPITAL LETTER ZETA */
  {0x0397 , L  }, /* GREEK CAPITAL LETTER ETA */
  {0x0398 , L  }, /* GREEK CAPITAL LETTER THETA */
  {0x0399 , L  }, /* GREEK CAPITAL LETTER IOTA */
  {0x039A , L  }, /* GREEK CAPITAL LETTER KAPPA */
  {0x039B , L  }, /* GREEK CAPITAL LETTER LAMDA */
  {0x039C , L  }, /* GREEK CAPITAL LETTER MU */
  {0x039D , L  }, /* GREEK CAPITAL LETTER NU */
  {0x039E , L  }, /* GREEK CAPITAL LETTER XI */
  {0x039F , L  }, /* GREEK CAPITAL LETTER OMICRON */
  {0x03A0 , L  }, /* GREEK CAPITAL LETTER PI */
  {0x03A1 , L  }, /* GREEK CAPITAL LETTER RHO */
  {0x03A3 , L  }, /* GREEK CAPITAL LETTER SIGMA */
  {0x03A4 , L  }, /* GREEK CAPITAL LETTER TAU */
  {0x03A5 , L  }, /* GREEK CAPITAL LETTER UPSILON */
  {0x03A6 , L  }, /* GREEK CAPITAL LETTER PHI */
  {0x03A7 , L  }, /* GREEK CAPITAL LETTER CHI */
  {0x03A8 , L  }, /* GREEK CAPITAL LETTER PSI */
  {0x03A9 , L  }, /* GREEK CAPITAL LETTER OMEGA */
  {0x03AA , L  }, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
  {0x03AB , L  }, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
  {0x03AC , L  }, /* GREEK SMALL LETTER ALPHA WITH TONOS */
  {0x03AD , L  }, /* GREEK SMALL LETTER EPSILON WITH TONOS */
  {0x03AE , L  }, /* GREEK SMALL LETTER ETA WITH TONOS */
  {0x03AF , L  }, /* GREEK SMALL LETTER IOTA WITH TONOS */
  {0x03B0 , L  }, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
  {0x03B1 , L  }, /* GREEK SMALL LETTER ALPHA */
  {0x03B2 , L  }, /* GREEK SMALL LETTER BETA */
  {0x03B3 , L  }, /* GREEK SMALL LETTER GAMMA */
  {0x03B4 , L  }, /* GREEK SMALL LETTER DELTA */
  {0x03B5 , L  }, /* GREEK SMALL LETTER EPSILON */
  {0x03B6 , L  }, /* GREEK SMALL LETTER ZETA */
  {0x03B7 , L  }, /* GREEK SMALL LETTER ETA */
  {0x03B8 , L  }, /* GREEK SMALL LETTER THETA */
  {0x03B9 , L  }, /* GREEK SMALL LETTER IOTA */
  {0x03BA , L  }, /* GREEK SMALL LETTER KAPPA */
  {0x03BB , L  }, /* GREEK SMALL LETTER LAMDA */
  {0x03BC , L  }, /* GREEK SMALL LETTER MU */
  {0x03BD , L  }, /* GREEK SMALL LETTER NU */
  {0x03BE , L  }, /* GREEK SMALL LETTER XI */
  {0x03BF , L  }, /* GREEK SMALL LETTER OMICRON */
  {0x03C0 , L  }, /* GREEK SMALL LETTER PI */
  {0x03C1 , L  }, /* GREEK SMALL LETTER RHO */
  {0x03C2 , L  }, /* GREEK SMALL LETTER FINAL SIGMA */
  {0x03C3 , L  }, /* GREEK SMALL LETTER SIGMA */
  {0x03C4 , L  }, /* GREEK SMALL LETTER TAU */
  {0x03C5 , L  }, /* GREEK SMALL LETTER UPSILON */
  {0x03C6 , L  }, /* GREEK SMALL LETTER PHI */
  {0x03C7 , L  }, /* GREEK SMALL LETTER CHI */
  {0x03C8 , L  }, /* GREEK SMALL LETTER PSI */
  {0x03C9 , L  }, /* GREEK SMALL LETTER OMEGA */
  {0x03CA , L  }, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */
  {0x03CB , L  }, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
  {0x03CC , L  }, /* GREEK SMALL LETTER OMICRON WITH TONOS */
  {0x03CD , L  }, /* GREEK SMALL LETTER UPSILON WITH TONOS */
  {0x03CE , L  }, /* GREEK SMALL LETTER OMEGA WITH TONOS */
  {0x03D0 , L  }, /* GREEK BETA SYMBOL */
  {0x03D1 , L  }, /* GREEK THETA SYMBOL */
  {0x03D2 , L  }, /* GREEK UPSILON WITH HOOK SYMBOL */
  {0x03D3 , L  }, /* GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */
  {0x03D4 , L  }, /* GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL */
  {0x03D5 , L  }, /* GREEK PHI SYMBOL */
  {0x03D6 , L  }, /* GREEK PI SYMBOL */
  {0x03D7 , L  }, /* GREEK KAI SYMBOL */
  {0x03D8 , L  }, /* GREEK LETTER ARCHAIC KOPPA */
  {0x03D9 , L  }, /* GREEK SMALL LETTER ARCHAIC KOPPA */
  {0x03DA , L  }, /* GREEK LETTER STIGMA */
  {0x03DB , L  }, /* GREEK SMALL LETTER STIGMA */
  {0x03DC , L  }, /* GREEK LETTER DIGAMMA */
  {0x03DD , L  }, /* GREEK SMALL LETTER DIGAMMA */
  {0x03DE , L  }, /* GREEK LETTER KOPPA */
  {0x03DF , L  }, /* GREEK SMALL LETTER KOPPA */
  {0x03E0 , L  }, /* GREEK LETTER SAMPI */
  {0x03E1 , L  }, /* GREEK SMALL LETTER SAMPI */
  {0x03E2 , L  }, /* COPTIC CAPITAL LETTER SHEI */
  {0x03E3 , L  }, /* COPTIC SMALL LETTER SHEI */
  {0x03E4 , L  }, /* COPTIC CAPITAL LETTER FEI */
  {0x03E5 , L  }, /* COPTIC SMALL LETTER FEI */
  {0x03E6 , L  }, /* COPTIC CAPITAL LETTER KHEI */
  {0x03E7 , L  }, /* COPTIC SMALL LETTER KHEI */
  {0x03E8 , L  }, /* COPTIC CAPITAL LETTER HORI */
  {0x03E9 , L  }, /* COPTIC SMALL LETTER HORI */
  {0x03EA , L  }, /* COPTIC CAPITAL LETTER GANGIA */
  {0x03EB , L  }, /* COPTIC SMALL LETTER GANGIA */
  {0x03EC , L  }, /* COPTIC CAPITAL LETTER SHIMA */
  {0x03ED , L  }, /* COPTIC SMALL LETTER SHIMA */
  {0x03EE , L  }, /* COPTIC CAPITAL LETTER DEI */
  {0x03EF , L  }, /* COPTIC SMALL LETTER DEI */
  {0x03F0 , L  }, /* GREEK KAPPA SYMBOL */
  {0x03F1 , L  }, /* GREEK RHO SYMBOL */
  {0x03F2 , L  }, /* GREEK LUNATE SIGMA SYMBOL */
  {0x03F3 , L  }, /* GREEK LETTER YOT */
  {0x03F4 , L  }, /* GREEK CAPITAL THETA SYMBOL */
  {0x03F5 , L  }, /* GREEK LUNATE EPSILON SYMBOL */
  {0x03F6 , ON }, /* GREEK REVERSED LUNATE EPSILON SYMBOL */
  {0x03F7 , L  }, /* GREEK CAPITAL LETTER SHO */
  {0x03F8 , L  }, /* GREEK SMALL LETTER SHO */
  {0x03F9 , L  }, /* GREEK CAPITAL LUNATE SIGMA SYMBOL */
  {0x03FA , L  }, /* GREEK CAPITAL LETTER SAN */
  {0x03FB , L  }, /* GREEK SMALL LETTER SAN */
  {0x03FC , L  }, /* GREEK RHO WITH STROKE SYMBOL */
  {0x03FD , L  }, /* GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL */
  {0x03FE , L  }, /* GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL */
  {0x03FF , L  }, /* GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL */
  {0x0400 , L  }, /* CYRILLIC CAPITAL LETTER IE WITH GRAVE */
  {0x0401 , L  }, /* CYRILLIC CAPITAL LETTER IO */
  {0x0402 , L  }, /* CYRILLIC CAPITAL LETTER DJE */
  {0x0403 , L  }, /* CYRILLIC CAPITAL LETTER GJE */
  {0x0404 , L  }, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
  {0x0405 , L  }, /* CYRILLIC CAPITAL LETTER DZE */
  {0x0406 , L  }, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
  {0x0407 , L  }, /* CYRILLIC CAPITAL LETTER YI */
  {0x0408 , L  }, /* CYRILLIC CAPITAL LETTER JE */
  {0x0409 , L  }, /* CYRILLIC CAPITAL LETTER LJE */
  {0x040A , L  }, /* CYRILLIC CAPITAL LETTER NJE */
  {0x040B , L  }, /* CYRILLIC CAPITAL LETTER TSHE */
  {0x040C , L  }, /* CYRILLIC CAPITAL LETTER KJE */
  {0x040D , L  }, /* CYRILLIC CAPITAL LETTER I WITH GRAVE */
  {0x040E , L  }, /* CYRILLIC CAPITAL LETTER SHORT U */
  {0x040F , L  }, /* CYRILLIC CAPITAL LETTER DZHE */
  {0x0410 , L  }, /* CYRILLIC CAPITAL LETTER A */
  {0x0411 , L  }, /* CYRILLIC CAPITAL LETTER BE */
  {0x0412 , L  }, /* CYRILLIC CAPITAL LETTER VE */
  {0x0413 , L  }, /* CYRILLIC CAPITAL LETTER GHE */
  {0x0414 , L  }, /* CYRILLIC CAPITAL LETTER DE */
  {0x0415 , L  }, /* CYRILLIC CAPITAL LETTER IE */
  {0x0416 , L  }, /* CYRILLIC CAPITAL LETTER ZHE */
  {0x0417 , L  }, /* CYRILLIC CAPITAL LETTER ZE */
  {0x0418 , L  }, /* CYRILLIC CAPITAL LETTER I */
  {0x0419 , L  }, /* CYRILLIC CAPITAL LETTER SHORT I */
  {0x041A , L  }, /* CYRILLIC CAPITAL LETTER KA */
  {0x041B , L  }, /* CYRILLIC CAPITAL LETTER EL */
  {0x041C , L  }, /* CYRILLIC CAPITAL LETTER EM */
  {0x041D , L  }, /* CYRILLIC CAPITAL LETTER EN */
  {0x041E , L  }, /* CYRILLIC CAPITAL LETTER O */
  {0x041F , L  }, /* CYRILLIC CAPITAL LETTER PE */
  {0x0420 , L  }, /* CYRILLIC CAPITAL LETTER ER */
  {0x0421 , L  }, /* CYRILLIC CAPITAL LETTER ES */
  {0x0422 , L  }, /* CYRILLIC CAPITAL LETTER TE */
  {0x0423 , L  }, /* CYRILLIC CAPITAL LETTER U */
  {0x0424 , L  }, /* CYRILLIC CAPITAL LETTER EF */
  {0x0425 , L  }, /* CYRILLIC CAPITAL LETTER HA */
  {0x0426 , L  }, /* CYRILLIC CAPITAL LETTER TSE */
  {0x0427 , L  }, /* CYRILLIC CAPITAL LETTER CHE */
  {0x0428 , L  }, /* CYRILLIC CAPITAL LETTER SHA */
  {0x0429 , L  }, /* CYRILLIC CAPITAL LETTER SHCHA */
  {0x042A , L  }, /* CYRILLIC CAPITAL LETTER HARD SIGN */
  {0x042B , L  }, /* CYRILLIC CAPITAL LETTER YERU */
  {0x042C , L  }, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
  {0x042D , L  }, /* CYRILLIC CAPITAL LETTER E */
  {0x042E , L  }, /* CYRILLIC CAPITAL LETTER YU */
  {0x042F , L  }, /* CYRILLIC CAPITAL LETTER YA */
  {0x0430 , L  }, /* CYRILLIC SMALL LETTER A */
  {0x0431 , L  }, /* CYRILLIC SMALL LETTER BE */
  {0x0432 , L  }, /* CYRILLIC SMALL LETTER VE */
  {0x0433 , L  }, /* CYRILLIC SMALL LETTER GHE */
  {0x0434 , L  }, /* CYRILLIC SMALL LETTER DE */
  {0x0435 , L  }, /* CYRILLIC SMALL LETTER IE */
  {0x0436 , L  }, /* CYRILLIC SMALL LETTER ZHE */
  {0x0437 , L  }, /* CYRILLIC SMALL LETTER ZE */
  {0x0438 , L  }, /* CYRILLIC SMALL LETTER I */
  {0x0439 , L  }, /* CYRILLIC SMALL LETTER SHORT I */
  {0x043A , L  }, /* CYRILLIC SMALL LETTER KA */
  {0x043B , L  }, /* CYRILLIC SMALL LETTER EL */
  {0x043C , L  }, /* CYRILLIC SMALL LETTER EM */
  {0x043D , L  }, /* CYRILLIC SMALL LETTER EN */
  {0x043E , L  }, /* CYRILLIC SMALL LETTER O */
  {0x043F , L  }, /* CYRILLIC SMALL LETTER PE */
  {0x0440 , L  }, /* CYRILLIC SMALL LETTER ER */
  {0x0441 , L  }, /* CYRILLIC SMALL LETTER ES */
  {0x0442 , L  }, /* CYRILLIC SMALL LETTER TE */
  {0x0443 , L  }, /* CYRILLIC SMALL LETTER U */
  {0x0444 , L  }, /* CYRILLIC SMALL LETTER EF */
  {0x0445 , L  }, /* CYRILLIC SMALL LETTER HA */
  {0x0446 , L  }, /* CYRILLIC SMALL LETTER TSE */
  {0x0447 , L  }, /* CYRILLIC SMALL LETTER CHE */
  {0x0448 , L  }, /* CYRILLIC SMALL LETTER SHA */
  {0x0449 , L  }, /* CYRILLIC SMALL LETTER SHCHA */
  {0x044A , L  }, /* CYRILLIC SMALL LETTER HARD SIGN */
  {0x044B , L  }, /* CYRILLIC SMALL LETTER YERU */
  {0x044C , L  }, /* CYRILLIC SMALL LETTER SOFT SIGN */
  {0x044D , L  }, /* CYRILLIC SMALL LETTER E */
  {0x044E , L  }, /* CYRILLIC SMALL LETTER YU */
  {0x044F , L  }, /* CYRILLIC SMALL LETTER YA */
  {0x0450 , L  }, /* CYRILLIC SMALL LETTER IE WITH GRAVE */
  {0x0451 , L  }, /* CYRILLIC SMALL LETTER IO */
  {0x0452 , L  }, /* CYRILLIC SMALL LETTER DJE */
  {0x0453 , L  }, /* CYRILLIC SMALL LETTER GJE */
  {0x0454 , L  }, /* CYRILLIC SMALL LETTER UKRAINIAN IE */
  {0x0455 , L  }, /* CYRILLIC SMALL LETTER DZE */
  {0x0456 , L  }, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
  {0x0457 , L  }, /* CYRILLIC SMALL LETTER YI */
  {0x0458 , L  }, /* CYRILLIC SMALL LETTER JE */
  {0x0459 , L  }, /* CYRILLIC SMALL LETTER LJE */
  {0x045A , L  }, /* CYRILLIC SMALL LETTER NJE */
  {0x045B , L  }, /* CYRILLIC SMALL LETTER TSHE */
  {0x045C , L  }, /* CYRILLIC SMALL LETTER KJE */
  {0x045D , L  }, /* CYRILLIC SMALL LETTER I WITH GRAVE */
  {0x045E , L  }, /* CYRILLIC SMALL LETTER SHORT U */
  {0x045F , L  }, /* CYRILLIC SMALL LETTER DZHE */
  {0x0460 , L  }, /* CYRILLIC CAPITAL LETTER OMEGA */
  {0x0461 , L  }, /* CYRILLIC SMALL LETTER OMEGA */
  {0x0462 , L  }, /* CYRILLIC CAPITAL LETTER YAT */
  {0x0463 , L  }, /* CYRILLIC SMALL LETTER YAT */
  {0x0464 , L  }, /* CYRILLIC CAPITAL LETTER IOTIFIED E */
  {0x0465 , L  }, /* CYRILLIC SMALL LETTER IOTIFIED E */
  {0x0466 , L  }, /* CYRILLIC CAPITAL LETTER LITTLE YUS */
  {0x0467 , L  }, /* CYRILLIC SMALL LETTER LITTLE YUS */
  {0x0468 , L  }, /* CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS */
  {0x0469 , L  }, /* CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS */
  {0x046A , L  }, /* CYRILLIC CAPITAL LETTER BIG YUS */
  {0x046B , L  }, /* CYRILLIC SMALL LETTER BIG YUS */
  {0x046C , L  }, /* CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS */
  {0x046D , L  }, /* CYRILLIC SMALL LETTER IOTIFIED BIG YUS */
  {0x046E , L  }, /* CYRILLIC CAPITAL LETTER KSI */
  {0x046F , L  }, /* CYRILLIC SMALL LETTER KSI */
  {0x0470 , L  }, /* CYRILLIC CAPITAL LETTER PSI */
  {0x0471 , L  }, /* CYRILLIC SMALL LETTER PSI */
  {0x0472 , L  }, /* CYRILLIC CAPITAL LETTER FITA */
  {0x0473 , L  }, /* CYRILLIC SMALL LETTER FITA */
  {0x0474 , L  }, /* CYRILLIC CAPITAL LETTER IZHITSA */
  {0x0475 , L  }, /* CYRILLIC SMALL LETTER IZHITSA */
  {0x0476 , L  }, /* CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */
  {0x0477 , L  }, /* CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */
  {0x0478 , L  }, /* CYRILLIC CAPITAL LETTER UK */
  {0x0479 , L  }, /* CYRILLIC SMALL LETTER UK */
  {0x047A , L  }, /* CYRILLIC CAPITAL LETTER ROUND OMEGA */
  {0x047B , L  }, /* CYRILLIC SMALL LETTER ROUND OMEGA */
  {0x047C , L  }, /* CYRILLIC CAPITAL LETTER OMEGA WITH TITLO */
  {0x047D , L  }, /* CYRILLIC SMALL LETTER OMEGA WITH TITLO */
  {0x047E , L  }, /* CYRILLIC CAPITAL LETTER OT */
  {0x047F , L  }, /* CYRILLIC SMALL LETTER OT */
  {0x0480 , L  }, /* CYRILLIC CAPITAL LETTER KOPPA */
  {0x0481 , L  }, /* CYRILLIC SMALL LETTER KOPPA */
  {0x0482 , L  }, /* CYRILLIC THOUSANDS SIGN */
  {0x0483 , NSM}, /* COMBINING CYRILLIC TITLO */
  {0x0484 , NSM}, /* COMBINING CYRILLIC PALATALIZATION */
  {0x0485 , NSM}, /* COMBINING CYRILLIC DASIA PNEUMATA */
  {0x0486 , NSM}, /* COMBINING CYRILLIC PSILI PNEUMATA */
  {0x0488 , NSM}, /* COMBINING CYRILLIC HUNDRED THOUSANDS SIGN */
  {0x0489 , NSM}, /* COMBINING CYRILLIC MILLIONS SIGN */
  {0x048A , L  }, /* CYRILLIC CAPITAL LETTER SHORT I WITH TAIL */
  {0x048B , L  }, /* CYRILLIC SMALL LETTER SHORT I WITH TAIL */
  {0x048C , L  }, /* CYRILLIC CAPITAL LETTER SEMISOFT SIGN */
  {0x048D , L  }, /* CYRILLIC SMALL LETTER SEMISOFT SIGN */
  {0x048E , L  }, /* CYRILLIC CAPITAL LETTER ER WITH TICK */
  {0x048F , L  }, /* CYRILLIC SMALL LETTER ER WITH TICK */
  {0x0490 , L  }, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
  {0x0491 , L  }, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */
  {0x0492 , L  }, /* CYRILLIC CAPITAL LETTER GHE WITH STROKE */
  {0x0493 , L  }, /* CYRILLIC SMALL LETTER GHE WITH STROKE */
  {0x0494 , L  }, /* CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK */
  {0x0495 , L  }, /* CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK */
  {0x0496 , L  }, /* CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
  {0x0497 , L  }, /* CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
  {0x0498 , L  }, /* CYRILLIC CAPITAL LETTER ZE WITH DESCENDER */
  {0x0499 , L  }, /* CYRILLIC SMALL LETTER ZE WITH DESCENDER */
  {0x049A , L  }, /* CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
  {0x049B , L  }, /* CYRILLIC SMALL LETTER KA WITH DESCENDER */
  {0x049C , L  }, /* CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
  {0x049D , L  }, /* CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
  {0x049E , L  }, /* CYRILLIC CAPITAL LETTER KA WITH STROKE */
  {0x049F , L  }, /* CYRILLIC SMALL LETTER KA WITH STROKE */
  {0x04A0 , L  }, /* CYRILLIC CAPITAL LETTER BASHKIR KA */
  {0x04A1 , L  }, /* CYRILLIC SMALL LETTER BASHKIR KA */
  {0x04A2 , L  }, /* CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
  {0x04A3 , L  }, /* CYRILLIC SMALL LETTER EN WITH DESCENDER */
  {0x04A4 , L  }, /* CYRILLIC CAPITAL LIGATURE EN GHE */
  {0x04A5 , L  }, /* CYRILLIC SMALL LIGATURE EN GHE */
  {0x04A6 , L  }, /* CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK */
  {0x04A7 , L  }, /* CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK */
  {0x04A8 , L  }, /* CYRILLIC CAPITAL LETTER ABKHASIAN HA */
  {0x04A9 , L  }, /* CYRILLIC SMALL LETTER ABKHASIAN HA */
  {0x04AA , L  }, /* CYRILLIC CAPITAL LETTER ES WITH DESCENDER */
  {0x04AB , L  }, /* CYRILLIC SMALL LETTER ES WITH DESCENDER */
  {0x04AC , L  }, /* CYRILLIC CAPITAL LETTER TE WITH DESCENDER */
  {0x04AD , L  }, /* CYRILLIC SMALL LETTER TE WITH DESCENDER */
  {0x04AE , L  }, /* CYRILLIC CAPITAL LETTER STRAIGHT U */
  {0x04AF , L  }, /* CYRILLIC SMALL LETTER STRAIGHT U */
  {0x04B0 , L  }, /* CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
  {0x04B1 , L  }, /* CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
  {0x04B2 , L  }, /* CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
  {0x04B3 , L  }, /* CYRILLIC SMALL LETTER HA WITH DESCENDER */
  {0x04B4 , L  }, /* CYRILLIC CAPITAL LIGATURE TE TSE */
  {0x04B5 , L  }, /* CYRILLIC SMALL LIGATURE TE TSE */
  {0x04B6 , L  }, /* CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
  {0x04B7 , L  }, /* CYRILLIC SMALL LETTER CHE WITH DESCENDER */
  {0x04B8 , L  }, /* CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
  {0x04B9 , L  }, /* CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
  {0x04BA , L  }, /* CYRILLIC CAPITAL LETTER SHHA */
  {0x04BB , L  }, /* CYRILLIC SMALL LETTER SHHA */
  {0x04BC , L  }, /* CYRILLIC CAPITAL LETTER ABKHASIAN CHE */
  {0x04BD , L  }, /* CYRILLIC SMALL LETTER ABKHASIAN CHE */
  {0x04BE , L  }, /* CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER */
  {0x04BF , L  }, /* CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER */
  {0x04C0 , L  }, /* CYRILLIC LETTER PALOCHKA */
  {0x04C1 , L  }, /* CYRILLIC CAPITAL LETTER ZHE WITH BREVE */
  {0x04C2 , L  }, /* CYRILLIC SMALL LETTER ZHE WITH BREVE */
  {0x04C3 , L  }, /* CYRILLIC CAPITAL LETTER KA WITH HOOK */
  {0x04C4 , L  }, /* CYRILLIC SMALL LETTER KA WITH HOOK */
  {0x04C5 , L  }, /* CYRILLIC CAPITAL LETTER EL WITH TAIL */
  {0x04C6 , L  }, /* CYRILLIC SMALL LETTER EL WITH TAIL */
  {0x04C7 , L  }, /* CYRILLIC CAPITAL LETTER EN WITH HOOK */
  {0x04C8 , L  }, /* CYRILLIC SMALL LETTER EN WITH HOOK */
  {0x04C9 , L  }, /* CYRILLIC CAPITAL LETTER EN WITH TAIL */
  {0x04CA , L  }, /* CYRILLIC SMALL LETTER EN WITH TAIL */
  {0x04CB , L  }, /* CYRILLIC CAPITAL LETTER KHAKASSIAN CHE */
  {0x04CC , L  }, /* CYRILLIC SMALL LETTER KHAKASSIAN CHE */
  {0x04CD , L  }, /* CYRILLIC CAPITAL LETTER EM WITH TAIL */
  {0x04CE , L  }, /* CYRILLIC SMALL LETTER EM WITH TAIL */
  {0x04D0 , L  }, /* CYRILLIC CAPITAL LETTER A WITH BREVE */
  {0x04D1 , L  }, /* CYRILLIC SMALL LETTER A WITH BREVE */
  {0x04D2 , L  }, /* CYRILLIC CAPITAL LETTER A WITH DIAERESIS */
  {0x04D3 , L  }, /* CYRILLIC SMALL LETTER A WITH DIAERESIS */
  {0x04D4 , L  }, /* CYRILLIC CAPITAL LIGATURE A IE */
  {0x04D5 , L  }, /* CYRILLIC SMALL LIGATURE A IE */
  {0x04D6 , L  }, /* CYRILLIC CAPITAL LETTER IE WITH BREVE */
  {0x04D7 , L  }, /* CYRILLIC SMALL LETTER IE WITH BREVE */
  {0x04D8 , L  }, /* CYRILLIC CAPITAL LETTER SCHWA */
  {0x04D9 , L  }, /* CYRILLIC SMALL LETTER SCHWA */
  {0x04DA , L  }, /* CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS */
  {0x04DB , L  }, /* CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS */
  {0x04DC , L  }, /* CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS */
  {0x04DD , L  }, /* CYRILLIC SMALL LETTER ZHE WITH DIAERESIS */
  {0x04DE , L  }, /* CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS */
  {0x04DF , L  }, /* CYRILLIC SMALL LETTER ZE WITH DIAERESIS */
  {0x04E0 , L  }, /* CYRILLIC CAPITAL LETTER ABKHASIAN DZE */
  {0x04E1 , L  }, /* CYRILLIC SMALL LETTER ABKHASIAN DZE */
  {0x04E2 , L  }, /* CYRILLIC CAPITAL LETTER I WITH MACRON */
  {0x04E3 , L  }, /* CYRILLIC SMALL LETTER I WITH MACRON */
  {0x04E4 , L  }, /* CYRILLIC CAPITAL LETTER I WITH DIAERESIS */
  {0x04E5 , L  }, /* CYRILLIC SMALL LETTER I WITH DIAERESIS */
  {0x04E6 , L  }, /* CYRILLIC CAPITAL LETTER O WITH DIAERESIS */
  {0x04E7 , L  }, /* CYRILLIC SMALL LETTER O WITH DIAERESIS */
  {0x04E8 , L  }, /* CYRILLIC CAPITAL LETTER BARRED O */
  {0x04E9 , L  }, /* CYRILLIC SMALL LETTER BARRED O */
  {0x04EA , L  }, /* CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS */
  {0x04EB , L  }, /* CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS */
  {0x04EC , L  }, /* CYRILLIC CAPITAL LETTER E WITH DIAERESIS */
  {0x04ED , L  }, /* CYRILLIC SMALL LETTER E WITH DIAERESIS */
  {0x04EE , L  }, /* CYRILLIC CAPITAL LETTER U WITH MACRON */
  {0x04EF , L  }, /* CYRILLIC SMALL LETTER U WITH MACRON */
  {0x04F0 , L  }, /* CYRILLIC CAPITAL LETTER U WITH DIAERESIS */
  {0x04F1 , L  }, /* CYRILLIC SMALL LETTER U WITH DIAERESIS */
  {0x04F2 , L  }, /* CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE */
  {0x04F3 , L  }, /* CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE */
  {0x04F4 , L  }, /* CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS */
  {0x04F5 , L  }, /* CYRILLIC SMALL LETTER CHE WITH DIAERESIS */
  {0x04F6 , L  }, /* CYRILLIC CAPITAL LETTER GHE WITH DESCENDER */
  {0x04F7 , L  }, /* CYRILLIC SMALL LETTER GHE WITH DESCENDER */
  {0x04F8 , L  }, /* CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS */
  {0x04F9 , L  }, /* CYRILLIC SMALL LETTER YERU WITH DIAERESIS */
  {0x0500 , L  }, /* CYRILLIC CAPITAL LETTER KOMI DE */
  {0x0501 , L  }, /* CYRILLIC SMALL LETTER KOMI DE */
  {0x0502 , L  }, /* CYRILLIC CAPITAL LETTER KOMI DJE */
  {0x0503 , L  }, /* CYRILLIC SMALL LETTER KOMI DJE */
  {0x0504 , L  }, /* CYRILLIC CAPITAL LETTER KOMI ZJE */
  {0x0505 , L  }, /* CYRILLIC SMALL LETTER KOMI ZJE */
  {0x0506 , L  }, /* CYRILLIC CAPITAL LETTER KOMI DZJE */
  {0x0507 , L  }, /* CYRILLIC SMALL LETTER KOMI DZJE */
  {0x0508 , L  }, /* CYRILLIC CAPITAL LETTER KOMI LJE */
  {0x0509 , L  }, /* CYRILLIC SMALL LETTER KOMI LJE */
  {0x050A , L  }, /* CYRILLIC CAPITAL LETTER KOMI NJE */
  {0x050B , L  }, /* CYRILLIC SMALL LETTER KOMI NJE */
  {0x050C , L  }, /* CYRILLIC CAPITAL LETTER KOMI SJE */
  {0x050D , L  }, /* CYRILLIC SMALL LETTER KOMI SJE */
  {0x050E , L  }, /* CYRILLIC CAPITAL LETTER KOMI TJE */
  {0x050F , L  }, /* CYRILLIC SMALL LETTER KOMI TJE */
  {0x0531 , L  }, /* ARMENIAN CAPITAL LETTER AYB */
  {0x0532 , L  }, /* ARMENIAN CAPITAL LETTER BEN */
  {0x0533 , L  }, /* ARMENIAN CAPITAL LETTER GIM */
  {0x0534 , L  }, /* ARMENIAN CAPITAL LETTER DA */
  {0x0535 , L  }, /* ARMENIAN CAPITAL LETTER ECH */
  {0x0536 , L  }, /* ARMENIAN CAPITAL LETTER ZA */
  {0x0537 , L  }, /* ARMENIAN CAPITAL LETTER EH */
  {0x0538 , L  }, /* ARMENIAN CAPITAL LETTER ET */
  {0x0539 , L  }, /* ARMENIAN CAPITAL LETTER TO */
  {0x053A , L  }, /* ARMENIAN CAPITAL LETTER ZHE */
  {0x053B , L  }, /* ARMENIAN CAPITAL LETTER INI */
  {0x053C , L  }, /* ARMENIAN CAPITAL LETTER LIWN */
  {0x053D , L  }, /* ARMENIAN CAPITAL LETTER XEH */
  {0x053E , L  }, /* ARMENIAN CAPITAL LETTER CA */
  {0x053F , L  }, /* ARMENIAN CAPITAL LETTER KEN */
  {0x0540 , L  }, /* ARMENIAN CAPITAL LETTER HO */
  {0x0541 , L  }, /* ARMENIAN CAPITAL LETTER JA */
  {0x0542 , L  }, /* ARMENIAN CAPITAL LETTER GHAD */
  {0x0543 , L  }, /* ARMENIAN CAPITAL LETTER CHEH */
  {0x0544 , L  }, /* ARMENIAN CAPITAL LETTER MEN */
  {0x0545 , L  }, /* ARMENIAN CAPITAL LETTER YI */
  {0x0546 , L  }, /* ARMENIAN CAPITAL LETTER NOW */
  {0x0547 , L  }, /* ARMENIAN CAPITAL LETTER SHA */
  {0x0548 , L  }, /* ARMENIAN CAPITAL LETTER VO */
  {0x0549 , L  }, /* ARMENIAN CAPITAL LETTER CHA */
  {0x054A , L  }, /* ARMENIAN CAPITAL LETTER PEH */
  {0x054B , L  }, /* ARMENIAN CAPITAL LETTER JHEH */
  {0x054C , L  }, /* ARMENIAN CAPITAL LETTER RA */
  {0x054D , L  }, /* ARMENIAN CAPITAL LETTER SEH */
  {0x054E , L  }, /* ARMENIAN CAPITAL LETTER VEW */
  {0x054F , L  }, /* ARMENIAN CAPITAL LETTER TIWN */
  {0x0550 , L  }, /* ARMENIAN CAPITAL LETTER REH */
  {0x0551 , L  }, /* ARMENIAN CAPITAL LETTER CO */
  {0x0552 , L  }, /* ARMENIAN CAPITAL LETTER YIWN */
  {0x0553 , L  }, /* ARMENIAN CAPITAL LETTER PIWR */
  {0x0554 , L  }, /* ARMENIAN CAPITAL LETTER KEH */
  {0x0555 , L  }, /* ARMENIAN CAPITAL LETTER OH */
  {0x0556 , L  }, /* ARMENIAN CAPITAL LETTER FEH */
  {0x0559 , L  }, /* ARMENIAN MODIFIER LETTER LEFT HALF RING */
  {0x055A , L  }, /* ARMENIAN APOSTROPHE */
  {0x055B , L  }, /* ARMENIAN EMPHASIS MARK */
  {0x055C , L  }, /* ARMENIAN EXCLAMATION MARK */
  {0x055D , L  }, /* ARMENIAN COMMA */
  {0x055E , L  }, /* ARMENIAN QUESTION MARK */
  {0x055F , L  }, /* ARMENIAN ABBREVIATION MARK */
  {0x0561 , L  }, /* ARMENIAN SMALL LETTER AYB */
  {0x0562 , L  }, /* ARMENIAN SMALL LETTER BEN */
  {0x0563 , L  }, /* ARMENIAN SMALL LETTER GIM */
  {0x0564 , L  }, /* ARMENIAN SMALL LETTER DA */
  {0x0565 , L  }, /* ARMENIAN SMALL LETTER ECH */
  {0x0566 , L  }, /* ARMENIAN SMALL LETTER ZA */
  {0x0567 , L  }, /* ARMENIAN SMALL LETTER EH */
  {0x0568 , L  }, /* ARMENIAN SMALL LETTER ET */
  {0x0569 , L  }, /* ARMENIAN SMALL LETTER TO */
  {0x056A , L  }, /* ARMENIAN SMALL LETTER ZHE */
  {0x056B , L  }, /* ARMENIAN SMALL LETTER INI */
  {0x056C , L  }, /* ARMENIAN SMALL LETTER LIWN */
  {0x056D , L  }, /* ARMENIAN SMALL LETTER XEH */
  {0x056E , L  }, /* ARMENIAN SMALL LETTER CA */
  {0x056F , L  }, /* ARMENIAN SMALL LETTER KEN */
  {0x0570 , L  }, /* ARMENIAN SMALL LETTER HO */
  {0x0571 , L  }, /* ARMENIAN SMALL LETTER JA */
  {0x0572 , L  }, /* ARMENIAN SMALL LETTER GHAD */
  {0x0573 , L  }, /* ARMENIAN SMALL LETTER CHEH */
  {0x0574 , L  }, /* ARMENIAN SMALL LETTER MEN */
  {0x0575 , L  }, /* ARMENIAN SMALL LETTER YI */
  {0x0576 , L  }, /* ARMENIAN SMALL LETTER NOW */
  {0x0577 , L  }, /* ARMENIAN SMALL LETTER SHA */
  {0x0578 , L  }, /* ARMENIAN SMALL LETTER VO */
  {0x0579 , L  }, /* ARMENIAN SMALL LETTER CHA */
  {0x057A , L  }, /* ARMENIAN SMALL LETTER PEH */
  {0x057B , L  }, /* ARMENIAN SMALL LETTER JHEH */
  {0x057C , L  }, /* ARMENIAN SMALL LETTER RA */
  {0x057D , L  }, /* ARMENIAN SMALL LETTER SEH */
  {0x057E , L  }, /* ARMENIAN SMALL LETTER VEW */
  {0x057F , L  }, /* ARMENIAN SMALL LETTER TIWN */
  {0x0580 , L  }, /* ARMENIAN SMALL LETTER REH */
  {0x0581 , L  }, /* ARMENIAN SMALL LETTER CO */
  {0x0582 , L  }, /* ARMENIAN SMALL LETTER YIWN */
  {0x0583 , L  }, /* ARMENIAN SMALL LETTER PIWR */
  {0x0584 , L  }, /* ARMENIAN SMALL LETTER KEH */
  {0x0585 , L  }, /* ARMENIAN SMALL LETTER OH */
  {0x0586 , L  }, /* ARMENIAN SMALL LETTER FEH */
  {0x0587 , L  }, /* ARMENIAN SMALL LIGATURE ECH YIWN */
  {0x0589 , L  }, /* ARMENIAN FULL STOP */
  {0x058A , ON }, /* ARMENIAN HYPHEN */
  {0x0591 , NSM}, /* HEBREW ACCENT ETNAHTA */
  {0x0592 , NSM}, /* HEBREW ACCENT SEGOL */
  {0x0593 , NSM}, /* HEBREW ACCENT SHALSHELET */
  {0x0594 , NSM}, /* HEBREW ACCENT ZAQEF QATAN */
  {0x0595 , NSM}, /* HEBREW ACCENT ZAQEF GADOL */
  {0x0596 , NSM}, /* HEBREW ACCENT TIPEHA */
  {0x0597 , NSM}, /* HEBREW ACCENT REVIA */
  {0x0598 , NSM}, /* HEBREW ACCENT ZARQA */
  {0x0599 , NSM}, /* HEBREW ACCENT PASHTA */
  {0x059A , NSM}, /* HEBREW ACCENT YETIV */
  {0x059B , NSM}, /* HEBREW ACCENT TEVIR */
  {0x059C , NSM}, /* HEBREW ACCENT GERESH */
  {0x059D , NSM}, /* HEBREW ACCENT GERESH MUQDAM */
  {0x059E , NSM}, /* HEBREW ACCENT GERSHAYIM */
  {0x059F , NSM}, /* HEBREW ACCENT QARNEY PARA */
  {0x05A0 , NSM}, /* HEBREW ACCENT TELISHA GEDOLA */
  {0x05A1 , NSM}, /* HEBREW ACCENT PAZER */
  {0x05A2 , NSM}, /* HEBREW ACCENT ATNAH HAFUKH */
  {0x05A3 , NSM}, /* HEBREW ACCENT MUNAH */
  {0x05A4 , NSM}, /* HEBREW ACCENT MAHAPAKH */
  {0x05A5 , NSM}, /* HEBREW ACCENT MERKHA */
  {0x05A6 , NSM}, /* HEBREW ACCENT MERKHA KEFULA */
  {0x05A7 , NSM}, /* HEBREW ACCENT DARGA */
  {0x05A8 , NSM}, /* HEBREW ACCENT QADMA */
  {0x05A9 , NSM}, /* HEBREW ACCENT TELISHA QETANA */
  {0x05AA , NSM}, /* HEBREW ACCENT YERAH BEN YOMO */
  {0x05AB , NSM}, /* HEBREW ACCENT OLE */
  {0x05AC , NSM}, /* HEBREW ACCENT ILUY */
  {0x05AD , NSM}, /* HEBREW ACCENT DEHI */
  {0x05AE , NSM}, /* HEBREW ACCENT ZINOR */
  {0x05AF , NSM}, /* HEBREW MARK MASORA CIRCLE */
  {0x05B0 , NSM}, /* HEBREW POINT SHEVA */
  {0x05B1 , NSM}, /* HEBREW POINT HATAF SEGOL */
  {0x05B2 , NSM}, /* HEBREW POINT HATAF PATAH */
  {0x05B3 , NSM}, /* HEBREW POINT HATAF QAMATS */
  {0x05B4 , NSM}, /* HEBREW POINT HIRIQ */
  {0x05B5 , NSM}, /* HEBREW POINT TSERE */
  {0x05B6 , NSM}, /* HEBREW POINT SEGOL */
  {0x05B7 , NSM}, /* HEBREW POINT PATAH */
  {0x05B8 , NSM}, /* HEBREW POINT QAMATS */
  {0x05B9 , NSM}, /* HEBREW POINT HOLAM */
  {0x05BB , NSM}, /* HEBREW POINT QUBUTS */
  {0x05BC , NSM}, /* HEBREW POINT DAGESH OR MAPIQ */
  {0x05BD , NSM}, /* HEBREW POINT METEG */
  {0x05BE , R  }, /* HEBREW PUNCTUATION MAQAF */
  {0x05BF , NSM}, /* HEBREW POINT RAFE */
  {0x05C0 , R  }, /* HEBREW PUNCTUATION PASEQ */
  {0x05C1 , NSM}, /* HEBREW POINT SHIN DOT */
  {0x05C2 , NSM}, /* HEBREW POINT SIN DOT */
  {0x05C3 , R  }, /* HEBREW PUNCTUATION SOF PASUQ */
  {0x05C4 , NSM}, /* HEBREW MARK UPPER DOT */
  {0x05C5 , NSM}, /* HEBREW MARK LOWER DOT */
  {0x05C6 , R  }, /* HEBREW PUNCTUATION NUN HAFUKHA */
  {0x05C7 , NSM}, /* HEBREW POINT QAMATS QATAN */
  {0x05D0 , R  }, /* HEBREW LETTER ALEF */
  {0x05D1 , R  }, /* HEBREW LETTER BET */
  {0x05D2 , R  }, /* HEBREW LETTER GIMEL */
  {0x05D3 , R  }, /* HEBREW LETTER DALET */
  {0x05D4 , R  }, /* HEBREW LETTER HE */
  {0x05D5 , R  }, /* HEBREW LETTER VAV */
  {0x05D6 , R  }, /* HEBREW LETTER ZAYIN */
  {0x05D7 , R  }, /* HEBREW LETTER HET */
  {0x05D8 , R  }, /* HEBREW LETTER TET */
  {0x05D9 , R  }, /* HEBREW LETTER YOD */
  {0x05DA , R  }, /* HEBREW LETTER FINAL KAF */
  {0x05DB , R  }, /* HEBREW LETTER KAF */
  {0x05DC , R  }, /* HEBREW LETTER LAMED */
  {0x05DD , R  }, /* HEBREW LETTER FINAL MEM */
  {0x05DE , R  }, /* HEBREW LETTER MEM */
  {0x05DF , R  }, /* HEBREW LETTER FINAL NUN */
  {0x05E0 , R  }, /* HEBREW LETTER NUN */
  {0x05E1 , R  }, /* HEBREW LETTER SAMEKH */
  {0x05E2 , R  }, /* HEBREW LETTER AYIN */
  {0x05E3 , R  }, /* HEBREW LETTER FINAL PE */
  {0x05E4 , R  }, /* HEBREW LETTER PE */
  {0x05E5 , R  }, /* HEBREW LETTER FINAL TSADI */
  {0x05E6 , R  }, /* HEBREW LETTER TSADI */
  {0x05E7 , R  }, /* HEBREW LETTER QOF */
  {0x05E8 , R  }, /* HEBREW LETTER RESH */
  {0x05E9 , R  }, /* HEBREW LETTER SHIN */
  {0x05EA , R  }, /* HEBREW LETTER TAV */
  {0x05F0 , R  }, /* HEBREW LIGATURE YIDDISH DOUBLE VAV */
  {0x05F1 , R  }, /* HEBREW LIGATURE YIDDISH VAV YOD */
  {0x05F2 , R  }, /* HEBREW LIGATURE YIDDISH DOUBLE YOD */
  {0x05F3 , R  }, /* HEBREW PUNCTUATION GERESH */
  {0x05F4 , R  }, /* HEBREW PUNCTUATION GERSHAYIM */
  {0x0600 , AL }, /* ARABIC NUMBER SIGN */
  {0x0601 , AL }, /* ARABIC SIGN SANAH */
  {0x0602 , AL }, /* ARABIC FOOTNOTE MARKER */
  {0x0603 , AL }, /* ARABIC SIGN SAFHA */
  {0x060B , AL }, /* AFGHANI SIGN */
  {0x060C , CS }, /* ARABIC COMMA */
  {0x060D , AL }, /* ARABIC DATE SEPARATOR */
  {0x060E , ON }, /* ARABIC POETIC VERSE SIGN */
  {0x060F , ON }, /* ARABIC SIGN MISRA */
  {0x0610 , NSM}, /* ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM */
  {0x0611 , NSM}, /* ARABIC SIGN ALAYHE ASSALLAM */
  {0x0612 , NSM}, /* ARABIC SIGN RAHMATULLAH ALAYHE */
  {0x0613 , NSM}, /* ARABIC SIGN RADI ALLAHOU ANHU */
  {0x0614 , NSM}, /* ARABIC SIGN TAKHALLUS */
  {0x0615 , NSM}, /* ARABIC SMALL HIGH TAH */
  {0x061B , AL }, /* ARABIC SEMICOLON */
  {0x061E , AL }, /* ARABIC TRIPLE DOT PUNCTUATION MARK */
  {0x061F , AL }, /* ARABIC QUESTION MARK */
  {0x0621 , AL }, /* ARABIC LETTER HAMZA */
  {0x0622 , AL }, /* ARABIC LETTER ALEF WITH MADDA ABOVE */
  {0x0623 , AL }, /* ARABIC LETTER ALEF WITH HAMZA ABOVE */
  {0x0624 , AL }, /* ARABIC LETTER WAW WITH HAMZA ABOVE */
  {0x0625 , AL }, /* ARABIC LETTER ALEF WITH HAMZA BELOW */
  {0x0626 , AL }, /* ARABIC LETTER YEH WITH HAMZA ABOVE */
  {0x0627 , AL }, /* ARABIC LETTER ALEF */
  {0x0628 , AL }, /* ARABIC LETTER BEH */
  {0x0629 , AL }, /* ARABIC LETTER TEH MARBUTA */
  {0x062A , AL }, /* ARABIC LETTER TEH */
  {0x062B , AL }, /* ARABIC LETTER THEH */
  {0x062C , AL }, /* ARABIC LETTER JEEM */
  {0x062D , AL }, /* ARABIC LETTER HAH */
  {0x062E , AL }, /* ARABIC LETTER KHAH */
  {0x062F , AL }, /* ARABIC LETTER DAL */
  {0x0630 , AL }, /* ARABIC LETTER THAL */
  {0x0631 , AL }, /* ARABIC LETTER REH */
  {0x0632 , AL }, /* ARABIC LETTER ZAIN */
  {0x0633 , AL }, /* ARABIC LETTER SEEN */
  {0x0634 , AL }, /* ARABIC LETTER SHEEN */
  {0x0635 , AL }, /* ARABIC LETTER SAD */
  {0x0636 , AL }, /* ARABIC LETTER DAD */
  {0x0637 , AL }, /* ARABIC LETTER TAH */
  {0x0638 , AL }, /* ARABIC LETTER ZAH */
  {0x0639 , AL }, /* ARABIC LETTER AIN */
  {0x063A , AL }, /* ARABIC LETTER GHAIN */
  {0x0640 , AL }, /* ARABIC TATWEEL */
  {0x0641 , AL }, /* ARABIC LETTER FEH */
  {0x0642 , AL }, /* ARABIC LETTER QAF */
  {0x0643 , AL }, /* ARABIC LETTER KAF */
  {0x0644 , AL }, /* ARABIC LETTER LAM */
  {0x0645 , AL }, /* ARABIC LETTER MEEM */
  {0x0646 , AL }, /* ARABIC LETTER NOON */
  {0x0647 , AL }, /* ARABIC LETTER HEH */
  {0x0648 , AL }, /* ARABIC LETTER WAW */
  {0x0649 , AL }, /* ARABIC LETTER ALEF MAKSURA */
  {0x064A , AL }, /* ARABIC LETTER YEH */
  {0x064B , NSM}, /* ARABIC FATHATAN */
  {0x064C , NSM}, /* ARABIC DAMMATAN */
  {0x064D , NSM}, /* ARABIC KASRATAN */
  {0x064E , NSM}, /* ARABIC FATHA */
  {0x064F , NSM}, /* ARABIC DAMMA */
  {0x0650 , NSM}, /* ARABIC KASRA */
  {0x0651 , NSM}, /* ARABIC SHADDA */
  {0x0652 , NSM}, /* ARABIC SUKUN */
  {0x0653 , NSM}, /* ARABIC MADDAH ABOVE */
  {0x0654 , NSM}, /* ARABIC HAMZA ABOVE */
  {0x0655 , NSM}, /* ARABIC HAMZA BELOW */
  {0x0656 , NSM}, /* ARABIC SUBSCRIPT ALEF */
  {0x0657 , NSM}, /* ARABIC INVERTED DAMMA */
  {0x0658 , NSM}, /* ARABIC MARK NOON GHUNNA */
  {0x0659 , NSM}, /* ARABIC ZWARAKAY */
  {0x065A , NSM}, /* ARABIC VOWEL SIGN SMALL V ABOVE */
  {0x065B , NSM}, /* ARABIC VOWEL SIGN INVERTED SMALL V ABOVE */
  {0x065C , NSM}, /* ARABIC VOWEL SIGN DOT BELOW */
  {0x065D , NSM}, /* ARABIC REVERSED DAMMA */
  {0x065E , NSM}, /* ARABIC FATHA WITH TWO DOTS */
  {0x0660 , AN }, /* ARABIC-INDIC DIGIT ZERO */
  {0x0661 , AN }, /* ARABIC-INDIC DIGIT ONE */
  {0x0662 , AN }, /* ARABIC-INDIC DIGIT TWO */
  {0x0663 , AN }, /* ARABIC-INDIC DIGIT THREE */
  {0x0664 , AN }, /* ARABIC-INDIC DIGIT FOUR */
  {0x0665 , AN }, /* ARABIC-INDIC DIGIT FIVE */
  {0x0666 , AN }, /* ARABIC-INDIC DIGIT SIX */
  {0x0667 , AN }, /* ARABIC-INDIC DIGIT SEVEN */
  {0x0668 , AN }, /* ARABIC-INDIC DIGIT EIGHT */
  {0x0669 , AN }, /* ARABIC-INDIC DIGIT NINE */
  {0x066A , ET }, /* ARABIC PERCENT SIGN */
  {0x066B , AN }, /* ARABIC DECIMAL SEPARATOR */
  {0x066C , AN }, /* ARABIC THOUSANDS SEPARATOR */
  {0x066D , AL }, /* ARABIC FIVE POINTED STAR */
  {0x066E , AL }, /* ARABIC LETTER DOTLESS BEH */
  {0x066F , AL }, /* ARABIC LETTER DOTLESS QAF */
  {0x0670 , NSM}, /* ARABIC LETTER SUPERSCRIPT ALEF */
  {0x0671 , AL }, /* ARABIC LETTER ALEF WASLA */
  {0x0672 , AL }, /* ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE */
  {0x0673 , AL }, /* ARABIC LETTER ALEF WITH WAVY HAMZA BELOW */
  {0x0674 , AL }, /* ARABIC LETTER HIGH HAMZA */
  {0x0675 , AL }, /* ARABIC LETTER HIGH HAMZA ALEF */
  {0x0676 , AL }, /* ARABIC LETTER HIGH HAMZA WAW */
  {0x0677 , AL }, /* ARABIC LETTER U WITH HAMZA ABOVE */
  {0x0678 , AL }, /* ARABIC LETTER HIGH HAMZA YEH */
  {0x0679 , AL }, /* ARABIC LETTER TTEH */
  {0x067A , AL }, /* ARABIC LETTER TTEHEH */
  {0x067B , AL }, /* ARABIC LETTER BEEH */
  {0x067C , AL }, /* ARABIC LETTER TEH WITH RING */
  {0x067D , AL }, /* ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS */
  {0x067E , AL }, /* ARABIC LETTER PEH */
  {0x067F , AL }, /* ARABIC LETTER TEHEH */
  {0x0680 , AL }, /* ARABIC LETTER BEHEH */
  {0x0681 , AL }, /* ARABIC LETTER HAH WITH HAMZA ABOVE */
  {0x0682 , AL }, /* ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE */
  {0x0683 , AL }, /* ARABIC LETTER NYEH */
  {0x0684 , AL }, /* ARABIC LETTER DYEH */
  {0x0685 , AL }, /* ARABIC LETTER HAH WITH THREE DOTS ABOVE */
  {0x0686 , AL }, /* ARABIC LETTER TCHEH */
  {0x0687 , AL }, /* ARABIC LETTER TCHEHEH */
  {0x0688 , AL }, /* ARABIC LETTER DDAL */
  {0x0689 , AL }, /* ARABIC LETTER DAL WITH RING */
  {0x068A , AL }, /* ARABIC LETTER DAL WITH DOT BELOW */
  {0x068B , AL }, /* ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH */
  {0x068C , AL }, /* ARABIC LETTER DAHAL */
  {0x068D , AL }, /* ARABIC LETTER DDAHAL */
  {0x068E , AL }, /* ARABIC LETTER DUL */
  {0x068F , AL }, /* ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS */
  {0x0690 , AL }, /* ARABIC LETTER DAL WITH FOUR DOTS ABOVE */
  {0x0691 , AL }, /* ARABIC LETTER RREH */
  {0x0692 , AL }, /* ARABIC LETTER REH WITH SMALL V */
  {0x0693 , AL }, /* ARABIC LETTER REH WITH RING */
  {0x0694 , AL }, /* ARABIC LETTER REH WITH DOT BELOW */
  {0x0695 , AL }, /* ARABIC LETTER REH WITH SMALL V BELOW */
  {0x0696 , AL }, /* ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE */
  {0x0697 , AL }, /* ARABIC LETTER REH WITH TWO DOTS ABOVE */
  {0x0698 , AL }, /* ARABIC LETTER JEH */
  {0x0699 , AL }, /* ARABIC LETTER REH WITH FOUR DOTS ABOVE */
  {0x069A , AL }, /* ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE */
  {0x069B , AL }, /* ARABIC LETTER SEEN WITH THREE DOTS BELOW */
  {0x069C , AL }, /* ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE */
  {0x069D , AL }, /* ARABIC LETTER SAD WITH TWO DOTS BELOW */
  {0x069E , AL }, /* ARABIC LETTER SAD WITH THREE DOTS ABOVE */
  {0x069F , AL }, /* ARABIC LETTER TAH WITH THREE DOTS ABOVE */
  {0x06A0 , AL }, /* ARABIC LETTER AIN WITH THREE DOTS ABOVE */
  {0x06A1 , AL }, /* ARABIC LETTER DOTLESS FEH */
  {0x06A2 , AL }, /* ARABIC LETTER FEH WITH DOT MOVED BELOW */
  {0x06A3 , AL }, /* ARABIC LETTER FEH WITH DOT BELOW */
  {0x06A4 , AL }, /* ARABIC LETTER VEH */
  {0x06A5 , AL }, /* ARABIC LETTER FEH WITH THREE DOTS BELOW */
  {0x06A6 , AL }, /* ARABIC LETTER PEHEH */
  {0x06A7 , AL }, /* ARABIC LETTER QAF WITH DOT ABOVE */
  {0x06A8 , AL }, /* ARABIC LETTER QAF WITH THREE DOTS ABOVE */
  {0x06A9 , AL }, /* ARABIC LETTER KEHEH */
  {0x06AA , AL }, /* ARABIC LETTER SWASH KAF */
  {0x06AB , AL }, /* ARABIC LETTER KAF WITH RING */
  {0x06AC , AL }, /* ARABIC LETTER KAF WITH DOT ABOVE */
  {0x06AD , AL }, /* ARABIC LETTER NG */
  {0x06AE , AL }, /* ARABIC LETTER KAF WITH THREE DOTS BELOW */
  {0x06AF , AL }, /* ARABIC LETTER GAF */
  {0x06B0 , AL }, /* ARABIC LETTER GAF WITH RING */
  {0x06B1 , AL }, /* ARABIC LETTER NGOEH */
  {0x06B2 , AL }, /* ARABIC LETTER GAF WITH TWO DOTS BELOW */
  {0x06B3 , AL }, /* ARABIC LETTER GUEH */
  {0x06B4 , AL }, /* ARABIC LETTER GAF WITH THREE DOTS ABOVE */
  {0x06B5 , AL }, /* ARABIC LETTER LAM WITH SMALL V */
  {0x06B6 , AL }, /* ARABIC LETTER LAM WITH DOT ABOVE */
  {0x06B7 , AL }, /* ARABIC LETTER LAM WITH THREE DOTS ABOVE */
  {0x06B8 , AL }, /* ARABIC LETTER LAM WITH THREE DOTS BELOW */
  {0x06B9 , AL }, /* ARABIC LETTER NOON WITH DOT BELOW */
  {0x06BA , AL }, /* ARABIC LETTER NOON GHUNNA */
  {0x06BB , AL }, /* ARABIC LETTER RNOON */
  {0x06BC , AL }, /* ARABIC LETTER NOON WITH RING */
  {0x06BD , AL }, /* ARABIC LETTER NOON WITH THREE DOTS ABOVE */
  {0x06BE , AL }, /* ARABIC LETTER HEH DOACHASHMEE */
  {0x06BF , AL }, /* ARABIC LETTER TCHEH WITH DOT ABOVE */
  {0x06C0 , AL }, /* ARABIC LETTER HEH WITH YEH ABOVE */
  {0x06C1 , AL }, /* ARABIC LETTER HEH GOAL */
  {0x06C2 , AL }, /* ARABIC LETTER HEH GOAL WITH HAMZA ABOVE */
  {0x06C3 , AL }, /* ARABIC LETTER TEH MARBUTA GOAL */
  {0x06C4 , AL }, /* ARABIC LETTER WAW WITH RING */
  {0x06C5 , AL }, /* ARABIC LETTER KIRGHIZ OE */
  {0x06C6 , AL }, /* ARABIC LETTER OE */
  {0x06C7 , AL }, /* ARABIC LETTER U */
  {0x06C8 , AL }, /* ARABIC LETTER YU */
  {0x06C9 , AL }, /* ARABIC LETTER KIRGHIZ YU */
  {0x06CA , AL }, /* ARABIC LETTER WAW WITH TWO DOTS ABOVE */
  {0x06CB , AL }, /* ARABIC LETTER VE */
  {0x06CC , AL }, /* ARABIC LETTER FARSI YEH */
  {0x06CD , AL }, /* ARABIC LETTER YEH WITH TAIL */
  {0x06CE , AL }, /* ARABIC LETTER YEH WITH SMALL V */
  {0x06CF , AL }, /* ARABIC LETTER WAW WITH DOT ABOVE */
  {0x06D0 , AL }, /* ARABIC LETTER E */
  {0x06D1 , AL }, /* ARABIC LETTER YEH WITH THREE DOTS BELOW */
  {0x06D2 , AL }, /* ARABIC LETTER YEH BARREE */
  {0x06D3 , AL }, /* ARABIC LETTER YEH BARREE WITH HAMZA ABOVE */
  {0x06D4 , AL }, /* ARABIC FULL STOP */
  {0x06D5 , AL }, /* ARABIC LETTER AE */
  {0x06D6 , NSM}, /* ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA */
  {0x06D7 , NSM}, /* ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA */
  {0x06D8 , NSM}, /* ARABIC SMALL HIGH MEEM INITIAL FORM */
  {0x06D9 , NSM}, /* ARABIC SMALL HIGH LAM ALEF */
  {0x06DA , NSM}, /* ARABIC SMALL HIGH JEEM */
  {0x06DB , NSM}, /* ARABIC SMALL HIGH THREE DOTS */
  {0x06DC , NSM}, /* ARABIC SMALL HIGH SEEN */
  {0x06DD , AL }, /* ARABIC END OF AYAH */
  {0x06DE , NSM}, /* ARABIC START OF RUB EL HIZB */
  {0x06DF , NSM}, /* ARABIC SMALL HIGH ROUNDED ZERO */
  {0x06E0 , NSM}, /* ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO */
  {0x06E1 , NSM}, /* ARABIC SMALL HIGH DOTLESS HEAD OF KHAH */
  {0x06E2 , NSM}, /* ARABIC SMALL HIGH MEEM ISOLATED FORM */
  {0x06E3 , NSM}, /* ARABIC SMALL LOW SEEN */
  {0x06E4 , NSM}, /* ARABIC SMALL HIGH MADDA */
  {0x06E5 , AL }, /* ARABIC SMALL WAW */
  {0x06E6 , AL }, /* ARABIC SMALL YEH */
  {0x06E7 , NSM}, /* ARABIC SMALL HIGH YEH */
  {0x06E8 , NSM}, /* ARABIC SMALL HIGH NOON */
  {0x06E9 , ON }, /* ARABIC PLACE OF SAJDAH */
  {0x06EA , NSM}, /* ARABIC EMPTY CENTRE LOW STOP */
  {0x06EB , NSM}, /* ARABIC EMPTY CENTRE HIGH STOP */
  {0x06EC , NSM}, /* ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE */
  {0x06ED , NSM}, /* ARABIC SMALL LOW MEEM */
  {0x06EE , AL }, /* ARABIC LETTER DAL WITH INVERTED V */
  {0x06EF , AL }, /* ARABIC LETTER REH WITH INVERTED V */
  {0x06F0 , EN }, /* EXTENDED ARABIC-INDIC DIGIT ZERO */
  {0x06F1 , EN }, /* EXTENDED ARABIC-INDIC DIGIT ONE */
  {0x06F2 , EN }, /* EXTENDED ARABIC-INDIC DIGIT TWO */
  {0x06F3 , EN }, /* EXTENDED ARABIC-INDIC DIGIT THREE */
  {0x06F4 , EN }, /* EXTENDED ARABIC-INDIC DIGIT FOUR */
  {0x06F5 , EN }, /* EXTENDED ARABIC-INDIC DIGIT FIVE */
  {0x06F6 , EN }, /* EXTENDED ARABIC-INDIC DIGIT SIX */
  {0x06F7 , EN }, /* EXTENDED ARABIC-INDIC DIGIT SEVEN */
  {0x06F8 , EN }, /* EXTENDED ARABIC-INDIC DIGIT EIGHT */
  {0x06F9 , EN }, /* EXTENDED ARABIC-INDIC DIGIT NINE */
  {0x06FA , AL }, /* ARABIC LETTER SHEEN WITH DOT BELOW */
  {0x06FB , AL }, /* ARABIC LETTER DAD WITH DOT BELOW */
  {0x06FC , AL }, /* ARABIC LETTER GHAIN WITH DOT BELOW */
  {0x06FD , AL }, /* ARABIC SIGN SINDHI AMPERSAND */
  {0x06FE , AL }, /* ARABIC SIGN SINDHI POSTPOSITION MEN */
  {0x06FF , AL }, /* ARABIC LETTER HEH WITH INVERTED V */
  {0x0700 , AL }, /* SYRIAC END OF PARAGRAPH */
  {0x0701 , AL }, /* SYRIAC SUPRALINEAR FULL STOP */
  {0x0702 , AL }, /* SYRIAC SUBLINEAR FULL STOP */
  {0x0703 , AL }, /* SYRIAC SUPRALINEAR COLON */
  {0x0704 , AL }, /* SYRIAC SUBLINEAR COLON */
  {0x0705 , AL }, /* SYRIAC HORIZONTAL COLON */
  {0x0706 , AL }, /* SYRIAC COLON SKEWED LEFT */
  {0x0707 , AL }, /* SYRIAC COLON SKEWED RIGHT */
  {0x0708 , AL }, /* SYRIAC SUPRALINEAR COLON SKEWED LEFT */
  {0x0709 , AL }, /* SYRIAC SUBLINEAR COLON SKEWED RIGHT */
  {0x070A , AL }, /* SYRIAC CONTRACTION */
  {0x070B , AL }, /* SYRIAC HARKLEAN OBELUS */
  {0x070C , AL }, /* SYRIAC HARKLEAN METOBELUS */
  {0x070D , AL }, /* SYRIAC HARKLEAN ASTERISCUS */
  {0x070F , BN }, /* SYRIAC ABBREVIATION MARK */
  {0x0710 , AL }, /* SYRIAC LETTER ALAPH */
  {0x0711 , NSM}, /* SYRIAC LETTER SUPERSCRIPT ALAPH */
  {0x0712 , AL }, /* SYRIAC LETTER BETH */
  {0x0713 , AL }, /* SYRIAC LETTER GAMAL */
  {0x0714 , AL }, /* SYRIAC LETTER GAMAL GARSHUNI */
  {0x0715 , AL }, /* SYRIAC LETTER DALATH */
  {0x0716 , AL }, /* SYRIAC LETTER DOTLESS DALATH RISH */
  {0x0717 , AL }, /* SYRIAC LETTER HE */
  {0x0718 , AL }, /* SYRIAC LETTER WAW */
  {0x0719 , AL }, /* SYRIAC LETTER ZAIN */
  {0x071A , AL }, /* SYRIAC LETTER HETH */
  {0x071B , AL }, /* SYRIAC LETTER TETH */
  {0x071C , AL }, /* SYRIAC LETTER TETH GARSHUNI */
  {0x071D , AL }, /* SYRIAC LETTER YUDH */
  {0x071E , AL }, /* SYRIAC LETTER YUDH HE */
  {0x071F , AL }, /* SYRIAC LETTER KAPH */
  {0x0720 , AL }, /* SYRIAC LETTER LAMADH */
  {0x0721 , AL }, /* SYRIAC LETTER MIM */
  {0x0722 , AL }, /* SYRIAC LETTER NUN */
  {0x0723 , AL }, /* SYRIAC LETTER SEMKATH */
  {0x0724 , AL }, /* SYRIAC LETTER FINAL SEMKATH */
  {0x0725 , AL }, /* SYRIAC LETTER E */
  {0x0726 , AL }, /* SYRIAC LETTER PE */
  {0x0727 , AL }, /* SYRIAC LETTER REVERSED PE */
  {0x0728 , AL }, /* SYRIAC LETTER SADHE */
  {0x0729 , AL }, /* SYRIAC LETTER QAPH */
  {0x072A , AL }, /* SYRIAC LETTER RISH */
  {0x072B , AL }, /* SYRIAC LETTER SHIN */
  {0x072C , AL }, /* SYRIAC LETTER TAW */
  {0x072D , AL }, /* SYRIAC LETTER PERSIAN BHETH */
  {0x072E , AL }, /* SYRIAC LETTER PERSIAN GHAMAL */
  {0x072F , AL }, /* SYRIAC LETTER PERSIAN DHALATH */
  {0x0730 , NSM}, /* SYRIAC PTHAHA ABOVE */
  {0x0731 , NSM}, /* SYRIAC PTHAHA BELOW */
  {0x0732 , NSM}, /* SYRIAC PTHAHA DOTTED */
  {0x0733 , NSM}, /* SYRIAC ZQAPHA ABOVE */
  {0x0734 , NSM}, /* SYRIAC ZQAPHA BELOW */
  {0x0735 , NSM}, /* SYRIAC ZQAPHA DOTTED */
  {0x0736 , NSM}, /* SYRIAC RBASA ABOVE */
  {0x0737 , NSM}, /* SYRIAC RBASA BELOW */
  {0x0738 , NSM}, /* SYRIAC DOTTED ZLAMA HORIZONTAL */
  {0x0739 , NSM}, /* SYRIAC DOTTED ZLAMA ANGULAR */
  {0x073A , NSM}, /* SYRIAC HBASA ABOVE */
  {0x073B , NSM}, /* SYRIAC HBASA BELOW */
  {0x073C , NSM}, /* SYRIAC HBASA-ESASA DOTTED */
  {0x073D , NSM}, /* SYRIAC ESASA ABOVE */
  {0x073E , NSM}, /* SYRIAC ESASA BELOW */
  {0x073F , NSM}, /* SYRIAC RWAHA */
  {0x0740 , NSM}, /* SYRIAC FEMININE DOT */
  {0x0741 , NSM}, /* SYRIAC QUSHSHAYA */
  {0x0742 , NSM}, /* SYRIAC RUKKAKHA */
  {0x0743 , NSM}, /* SYRIAC TWO VERTICAL DOTS ABOVE */
  {0x0744 , NSM}, /* SYRIAC TWO VERTICAL DOTS BELOW */
  {0x0745 , NSM}, /* SYRIAC THREE DOTS ABOVE */
  {0x0746 , NSM}, /* SYRIAC THREE DOTS BELOW */
  {0x0747 , NSM}, /* SYRIAC OBLIQUE LINE ABOVE */
  {0x0748 , NSM}, /* SYRIAC OBLIQUE LINE BELOW */
  {0x0749 , NSM}, /* SYRIAC MUSIC */
  {0x074A , NSM}, /* SYRIAC BARREKH */
  {0x074D , AL }, /* SYRIAC LETTER SOGDIAN ZHAIN */
  {0x074E , AL }, /* SYRIAC LETTER SOGDIAN KHAPH */
  {0x074F , AL }, /* SYRIAC LETTER SOGDIAN FE */
  {0x0750 , AL }, /* ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW */
  {0x0751 , AL }, /* ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE */
  {0x0752 , AL }, /* ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW */
  {0x0753 , AL }, /* ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE */
  {0x0754 , AL }, /* ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE */
  {0x0755 , AL }, /* ARABIC LETTER BEH WITH INVERTED SMALL V BELOW */
  {0x0756 , AL }, /* ARABIC LETTER BEH WITH SMALL V */
  {0x0757 , AL }, /* ARABIC LETTER HAH WITH TWO DOTS ABOVE */
  {0x0758 , AL }, /* ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW */
  {0x0759 , AL }, /* ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH */
  {0x075A , AL }, /* ARABIC LETTER DAL WITH INVERTED SMALL V BELOW */
  {0x075B , AL }, /* ARABIC LETTER REH WITH STROKE */
  {0x075C , AL }, /* ARABIC LETTER SEEN WITH FOUR DOTS ABOVE */
  {0x075D , AL }, /* ARABIC LETTER AIN WITH TWO DOTS ABOVE */
  {0x075E , AL }, /* ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE */
  {0x075F , AL }, /* ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE */
  {0x0760 , AL }, /* ARABIC LETTER FEH WITH TWO DOTS BELOW */
  {0x0761 , AL }, /* ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW */
  {0x0762 , AL }, /* ARABIC LETTER KEHEH WITH DOT ABOVE */
  {0x0763 , AL }, /* ARABIC LETTER KEHEH WITH THREE DOTS ABOVE */
  {0x0764 , AL }, /* ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW */
  {0x0765 , AL }, /* ARABIC LETTER MEEM WITH DOT ABOVE */
  {0x0766 , AL }, /* ARABIC LETTER MEEM WITH DOT BELOW */
  {0x0767 , AL }, /* ARABIC LETTER NOON WITH TWO DOTS BELOW */
  {0x0768 , AL }, /* ARABIC LETTER NOON WITH SMALL TAH */
  {0x0769 , AL }, /* ARABIC LETTER NOON WITH SMALL V */
  {0x076A , AL }, /* ARABIC LETTER LAM WITH BAR */
  {0x076B , AL }, /* ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE */
  {0x076C , AL }, /* ARABIC LETTER REH WITH HAMZA ABOVE */
  {0x076D , AL }, /* ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE */
  {0x0780 , AL }, /* THAANA LETTER HAA */
  {0x0781 , AL }, /* THAANA LETTER SHAVIYANI */
  {0x0782 , AL }, /* THAANA LETTER NOONU */
  {0x0783 , AL }, /* THAANA LETTER RAA */
  {0x0784 , AL }, /* THAANA LETTER BAA */
  {0x0785 , AL }, /* THAANA LETTER LHAVIYANI */
  {0x0786 , AL }, /* THAANA LETTER KAAFU */
  {0x0787 , AL }, /* THAANA LETTER ALIFU */
  {0x0788 , AL }, /* THAANA LETTER VAAVU */
  {0x0789 , AL }, /* THAANA LETTER MEEMU */
  {0x078A , AL }, /* THAANA LETTER FAAFU */
  {0x078B , AL }, /* THAANA LETTER DHAALU */
  {0x078C , AL }, /* THAANA LETTER THAA */
  {0x078D , AL }, /* THAANA LETTER LAAMU */
  {0x078E , AL }, /* THAANA LETTER GAAFU */
  {0x078F , AL }, /* THAANA LETTER GNAVIYANI */
  {0x0790 , AL }, /* THAANA LETTER SEENU */
  {0x0791 , AL }, /* THAANA LETTER DAVIYANI */
  {0x0792 , AL }, /* THAANA LETTER ZAVIYANI */
  {0x0793 , AL }, /* THAANA LETTER TAVIYANI */
  {0x0794 , AL }, /* THAANA LETTER YAA */
  {0x0795 , AL }, /* THAANA LETTER PAVIYANI */
  {0x0796 , AL }, /* THAANA LETTER JAVIYANI */
  {0x0797 , AL }, /* THAANA LETTER CHAVIYANI */
  {0x0798 , AL }, /* THAANA LETTER TTAA */
  {0x0799 , AL }, /* THAANA LETTER HHAA */
  {0x079A , AL }, /* THAANA LETTER KHAA */
  {0x079B , AL }, /* THAANA LETTER THAALU */
  {0x079C , AL }, /* THAANA LETTER ZAA */
  {0x079D , AL }, /* THAANA LETTER SHEENU */
  {0x079E , AL }, /* THAANA LETTER SAADHU */
  {0x079F , AL }, /* THAANA LETTER DAADHU */
  {0x07A0 , AL }, /* THAANA LETTER TO */
  {0x07A1 , AL }, /* THAANA LETTER ZO */
  {0x07A2 , AL }, /* THAANA LETTER AINU */
  {0x07A3 , AL }, /* THAANA LETTER GHAINU */
  {0x07A4 , AL }, /* THAANA LETTER QAAFU */
  {0x07A5 , AL }, /* THAANA LETTER WAAVU */
  {0x07A6 , NSM}, /* THAANA ABAFILI */
  {0x07A7 , NSM}, /* THAANA AABAAFILI */
  {0x07A8 , NSM}, /* THAANA IBIFILI */
  {0x07A9 , NSM}, /* THAANA EEBEEFILI */
  {0x07AA , NSM}, /* THAANA UBUFILI */
  {0x07AB , NSM}, /* THAANA OOBOOFILI */
  {0x07AC , NSM}, /* THAANA EBEFILI */
  {0x07AD , NSM}, /* THAANA EYBEYFILI */
  {0x07AE , NSM}, /* THAANA OBOFILI */
  {0x07AF , NSM}, /* THAANA OABOAFILI */
  {0x07B0 , NSM}, /* THAANA SUKUN */
  {0x07B1 , AL }, /* THAANA LETTER NAA */
  {0x0901 , NSM}, /* DEVANAGARI SIGN CANDRABINDU */
  {0x0902 , NSM}, /* DEVANAGARI SIGN ANUSVARA */
  {0x0903 , L  }, /* DEVANAGARI SIGN VISARGA */
  {0x0904 , L  }, /* DEVANAGARI LETTER SHORT A */
  {0x0905 , L  }, /* DEVANAGARI LETTER A */
  {0x0906 , L  }, /* DEVANAGARI LETTER AA */
  {0x0907 , L  }, /* DEVANAGARI LETTER I */
  {0x0908 , L  }, /* DEVANAGARI LETTER II */
  {0x0909 , L  }, /* DEVANAGARI LETTER U */
  {0x090A , L  }, /* DEVANAGARI LETTER UU */
  {0x090B , L  }, /* DEVANAGARI LETTER VOCALIC R */
  {0x090C , L  }, /* DEVANAGARI LETTER VOCALIC L */
  {0x090D , L  }, /* DEVANAGARI LETTER CANDRA E */
  {0x090E , L  }, /* DEVANAGARI LETTER SHORT E */
  {0x090F , L  }, /* DEVANAGARI LETTER E */
  {0x0910 , L  }, /* DEVANAGARI LETTER AI */
  {0x0911 , L  }, /* DEVANAGARI LETTER CANDRA O */
  {0x0912 , L  }, /* DEVANAGARI LETTER SHORT O */
  {0x0913 , L  }, /* DEVANAGARI LETTER O */
  {0x0914 , L  }, /* DEVANAGARI LETTER AU */
  {0x0915 , L  }, /* DEVANAGARI LETTER KA */
  {0x0916 , L  }, /* DEVANAGARI LETTER KHA */
  {0x0917 , L  }, /* DEVANAGARI LETTER GA */
  {0x0918 , L  }, /* DEVANAGARI LETTER GHA */
  {0x0919 , L  }, /* DEVANAGARI LETTER NGA */
  {0x091A , L  }, /* DEVANAGARI LETTER CA */
  {0x091B , L  }, /* DEVANAGARI LETTER CHA */
  {0x091C , L  }, /* DEVANAGARI LETTER JA */
  {0x091D , L  }, /* DEVANAGARI LETTER JHA */
  {0x091E , L  }, /* DEVANAGARI LETTER NYA */
  {0x091F , L  }, /* DEVANAGARI LETTER TTA */
  {0x0920 , L  }, /* DEVANAGARI LETTER TTHA */
  {0x0921 , L  }, /* DEVANAGARI LETTER DDA */
  {0x0922 , L  }, /* DEVANAGARI LETTER DDHA */
  {0x0923 , L  }, /* DEVANAGARI LETTER NNA */
  {0x0924 , L  }, /* DEVANAGARI LETTER TA */
  {0x0925 , L  }, /* DEVANAGARI LETTER THA */
  {0x0926 , L  }, /* DEVANAGARI LETTER DA */
  {0x0927 , L  }, /* DEVANAGARI LETTER DHA */
  {0x0928 , L  }, /* DEVANAGARI LETTER NA */
  {0x0929 , L  }, /* DEVANAGARI LETTER NNNA */
  {0x092A , L  }, /* DEVANAGARI LETTER PA */
  {0x092B , L  }, /* DEVANAGARI LETTER PHA */
  {0x092C , L  }, /* DEVANAGARI LETTER BA */
  {0x092D , L  }, /* DEVANAGARI LETTER BHA */
  {0x092E , L  }, /* DEVANAGARI LETTER MA */
  {0x092F , L  }, /* DEVANAGARI LETTER YA */
  {0x0930 , L  }, /* DEVANAGARI LETTER RA */
  {0x0931 , L  }, /* DEVANAGARI LETTER RRA */
  {0x0932 , L  }, /* DEVANAGARI LETTER LA */
  {0x0933 , L  }, /* DEVANAGARI LETTER LLA */
  {0x0934 , L  }, /* DEVANAGARI LETTER LLLA */
  {0x0935 , L  }, /* DEVANAGARI LETTER VA */
  {0x0936 , L  }, /* DEVANAGARI LETTER SHA */
  {0x0937 , L  }, /* DEVANAGARI LETTER SSA */
  {0x0938 , L  }, /* DEVANAGARI LETTER SA */
  {0x0939 , L  }, /* DEVANAGARI LETTER HA */
  {0x093C , NSM}, /* DEVANAGARI SIGN NUKTA */
  {0x093D , L  }, /* DEVANAGARI SIGN AVAGRAHA */
  {0x093E , L  }, /* DEVANAGARI VOWEL SIGN AA */
  {0x093F , L  }, /* DEVANAGARI VOWEL SIGN I */
  {0x0940 , L  }, /* DEVANAGARI VOWEL SIGN II */
  {0x0941 , NSM}, /* DEVANAGARI VOWEL SIGN U */
  {0x0942 , NSM}, /* DEVANAGARI VOWEL SIGN UU */
  {0x0943 , NSM}, /* DEVANAGARI VOWEL SIGN VOCALIC R */
  {0x0944 , NSM}, /* DEVANAGARI VOWEL SIGN VOCALIC RR */
  {0x0945 , NSM}, /* DEVANAGARI VOWEL SIGN CANDRA E */
  {0x0946 , NSM}, /* DEVANAGARI VOWEL SIGN SHORT E */
  {0x0947 , NSM}, /* DEVANAGARI VOWEL SIGN E */
  {0x0948 , NSM}, /* DEVANAGARI VOWEL SIGN AI */
  {0x0949 , L  }, /* DEVANAGARI VOWEL SIGN CANDRA O */
  {0x094A , L  }, /* DEVANAGARI VOWEL SIGN SHORT O */
  {0x094B , L  }, /* DEVANAGARI VOWEL SIGN O */
  {0x094C , L  }, /* DEVANAGARI VOWEL SIGN AU */
  {0x094D , NSM}, /* DEVANAGARI SIGN VIRAMA */
  {0x0950 , L  }, /* DEVANAGARI OM */
  {0x0951 , NSM}, /* DEVANAGARI STRESS SIGN UDATTA */
  {0x0952 , NSM}, /* DEVANAGARI STRESS SIGN ANUDATTA */
  {0x0953 , NSM}, /* DEVANAGARI GRAVE ACCENT */
  {0x0954 , NSM}, /* DEVANAGARI ACUTE ACCENT */
  {0x0958 , L  }, /* DEVANAGARI LETTER QA */
  {0x0959 , L  }, /* DEVANAGARI LETTER KHHA */
  {0x095A , L  }, /* DEVANAGARI LETTER GHHA */
  {0x095B , L  }, /* DEVANAGARI LETTER ZA */
  {0x095C , L  }, /* DEVANAGARI LETTER DDDHA */
  {0x095D , L  }, /* DEVANAGARI LETTER RHA */
  {0x095E , L  }, /* DEVANAGARI LETTER FA */
  {0x095F , L  }, /* DEVANAGARI LETTER YYA */
  {0x0960 , L  }, /* DEVANAGARI LETTER VOCALIC RR */
  {0x0961 , L  }, /* DEVANAGARI LETTER VOCALIC LL */
  {0x0962 , NSM}, /* DEVANAGARI VOWEL SIGN VOCALIC L */
  {0x0963 , NSM}, /* DEVANAGARI VOWEL SIGN VOCALIC LL */
  {0x0964 , L  }, /* DEVANAGARI DANDA */
  {0x0965 , L  }, /* DEVANAGARI DOUBLE DANDA */
  {0x0966 , L  }, /* DEVANAGARI DIGIT ZERO */
  {0x0967 , L  }, /* DEVANAGARI DIGIT ONE */
  {0x0968 , L  }, /* DEVANAGARI DIGIT TWO */
  {0x0969 , L  }, /* DEVANAGARI DIGIT THREE */
  {0x096A , L  }, /* DEVANAGARI DIGIT FOUR */
  {0x096B , L  }, /* DEVANAGARI DIGIT FIVE */
  {0x096C , L  }, /* DEVANAGARI DIGIT SIX */
  {0x096D , L  }, /* DEVANAGARI DIGIT SEVEN */
  {0x096E , L  }, /* DEVANAGARI DIGIT EIGHT */
  {0x096F , L  }, /* DEVANAGARI DIGIT NINE */
  {0x0970 , L  }, /* DEVANAGARI ABBREVIATION SIGN */
  {0x097D , L  }, /* DEVANAGARI LETTER GLOTTAL STOP */
  {0x0981 , NSM}, /* BENGALI SIGN CANDRABINDU */
  {0x0982 , L  }, /* BENGALI SIGN ANUSVARA */
  {0x0983 , L  }, /* BENGALI SIGN VISARGA */
  {0x0985 , L  }, /* BENGALI LETTER A */
  {0x0986 , L  }, /* BENGALI LETTER AA */
  {0x0987 , L  }, /* BENGALI LETTER I */
  {0x0988 , L  }, /* BENGALI LETTER II */
  {0x0989 , L  }, /* BENGALI LETTER U */
  {0x098A , L  }, /* BENGALI LETTER UU */
  {0x098B , L  }, /* BENGALI LETTER VOCALIC R */
  {0x098C , L  }, /* BENGALI LETTER VOCALIC L */
  {0x098F , L  }, /* BENGALI LETTER E */
  {0x0990 , L  }, /* BENGALI LETTER AI */
  {0x0993 , L  }, /* BENGALI LETTER O */
  {0x0994 , L  }, /* BENGALI LETTER AU */
  {0x0995 , L  }, /* BENGALI LETTER KA */
  {0x0996 , L  }, /* BENGALI LETTER KHA */
  {0x0997 , L  }, /* BENGALI LETTER GA */
  {0x0998 , L  }, /* BENGALI LETTER GHA */
  {0x0999 , L  }, /* BENGALI LETTER NGA */
  {0x099A , L  }, /* BENGALI LETTER CA */
  {0x099B , L  }, /* BENGALI LETTER CHA */
  {0x099C , L  }, /* BENGALI LETTER JA */
  {0x099D , L  }, /* BENGALI LETTER JHA */
  {0x099E , L  }, /* BENGALI LETTER NYA */
  {0x099F , L  }, /* BENGALI LETTER TTA */
  {0x09A0 , L  }, /* BENGALI LETTER TTHA */
  {0x09A1 , L  }, /* BENGALI LETTER DDA */
  {0x09A2 , L  }, /* BENGALI LETTER DDHA */
  {0x09A3 , L  }, /* BENGALI LETTER NNA */
  {0x09A4 , L  }, /* BENGALI LETTER TA */
  {0x09A5 , L  }, /* BENGALI LETTER THA */
  {0x09A6 , L  }, /* BENGALI LETTER DA */
  {0x09A7 , L  }, /* BENGALI LETTER DHA */
  {0x09A8 , L  }, /* BENGALI LETTER NA */
  {0x09AA , L  }, /* BENGALI LETTER PA */
  {0x09AB , L  }, /* BENGALI LETTER PHA */
  {0x09AC , L  }, /* BENGALI LETTER BA */
  {0x09AD , L  }, /* BENGALI LETTER BHA */
  {0x09AE , L  }, /* BENGALI LETTER MA */
  {0x09AF , L  }, /* BENGALI LETTER YA */
  {0x09B0 , L  }, /* BENGALI LETTER RA */
  {0x09B2 , L  }, /* BENGALI LETTER LA */
  {0x09B6 , L  }, /* BENGALI LETTER SHA */
  {0x09B7 , L  }, /* BENGALI LETTER SSA */
  {0x09B8 , L  }, /* BENGALI LETTER SA */
  {0x09B9 , L  }, /* BENGALI LETTER HA */
  {0x09BC , NSM}, /* BENGALI SIGN NUKTA */
  {0x09BD , L  }, /* BENGALI SIGN AVAGRAHA */
  {0x09BE , L  }, /* BENGALI VOWEL SIGN AA */
  {0x09BF , L  }, /* BENGALI VOWEL SIGN I */
  {0x09C0 , L  }, /* BENGALI VOWEL SIGN II */
  {0x09C1 , NSM}, /* BENGALI VOWEL SIGN U */
  {0x09C2 , NSM}, /* BENGALI VOWEL SIGN UU */
  {0x09C3 , NSM}, /* BENGALI VOWEL SIGN VOCALIC R */
  {0x09C4 , NSM}, /* BENGALI VOWEL SIGN VOCALIC RR */
  {0x09C7 , L  }, /* BENGALI VOWEL SIGN E */
  {0x09C8 , L  }, /* BENGALI VOWEL SIGN AI */
  {0x09CB , L  }, /* BENGALI VOWEL SIGN O */
  {0x09CC , L  }, /* BENGALI VOWEL SIGN AU */
  {0x09CD , NSM}, /* BENGALI SIGN VIRAMA */
  {0x09CE , L  }, /* BENGALI LETTER KHANDA TA */
  {0x09D7 , L  }, /* BENGALI AU LENGTH MARK */
  {0x09DC , L  }, /* BENGALI LETTER RRA */
  {0x09DD , L  }, /* BENGALI LETTER RHA */
  {0x09DF , L  }, /* BENGALI LETTER YYA */
  {0x09E0 , L  }, /* BENGALI LETTER VOCALIC RR */
  {0x09E1 , L  }, /* BENGALI LETTER VOCALIC LL */
  {0x09E2 , NSM}, /* BENGALI VOWEL SIGN VOCALIC L */
  {0x09E3 , NSM}, /* BENGALI VOWEL SIGN VOCALIC LL */
  {0x09E6 , L  }, /* BENGALI DIGIT ZERO */
  {0x09E7 , L  }, /* BENGALI DIGIT ONE */
  {0x09E8 , L  }, /* BENGALI DIGIT TWO */
  {0x09E9 , L  }, /* BENGALI DIGIT THREE */
  {0x09EA , L  }, /* BENGALI DIGIT FOUR */
  {0x09EB , L  }, /* BENGALI DIGIT FIVE */
  {0x09EC , L  }, /* BENGALI DIGIT SIX */
  {0x09ED , L  }, /* BENGALI DIGIT SEVEN */
  {0x09EE , L  }, /* BENGALI DIGIT EIGHT */
  {0x09EF , L  }, /* BENGALI DIGIT NINE */
  {0x09F0 , L  }, /* BENGALI LETTER RA WITH MIDDLE DIAGONAL */
  {0x09F1 , L  }, /* BENGALI LETTER RA WITH LOWER DIAGONAL */
  {0x09F2 , ET }, /* BENGALI RUPEE MARK */
  {0x09F3 , ET }, /* BENGALI RUPEE SIGN */
  {0x09F4 , L  }, /* BENGALI CURRENCY NUMERATOR ONE */
  {0x09F5 , L  }, /* BENGALI CURRENCY NUMERATOR TWO */
  {0x09F6 , L  }, /* BENGALI CURRENCY NUMERATOR THREE */
  {0x09F7 , L  }, /* BENGALI CURRENCY NUMERATOR FOUR */
  {0x09F8 , L  }, /* BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR */
  {0x09F9 , L  }, /* BENGALI CURRENCY DENOMINATOR SIXTEEN */
  {0x09FA , L  }, /* BENGALI ISSHAR */
  {0x0A01 , NSM}, /* GURMUKHI SIGN ADAK BINDI */
  {0x0A02 , NSM}, /* GURMUKHI SIGN BINDI */
  {0x0A03 , L  }, /* GURMUKHI SIGN VISARGA */
  {0x0A05 , L  }, /* GURMUKHI LETTER A */
  {0x0A06 , L  }, /* GURMUKHI LETTER AA */
  {0x0A07 , L  }, /* GURMUKHI LETTER I */
  {0x0A08 , L  }, /* GURMUKHI LETTER II */
  {0x0A09 , L  }, /* GURMUKHI LETTER U */
  {0x0A0A , L  }, /* GURMUKHI LETTER UU */
  {0x0A0F , L  }, /* GURMUKHI LETTER EE */
  {0x0A10 , L  }, /* GURMUKHI LETTER AI */
  {0x0A13 , L  }, /* GURMUKHI LETTER OO */
  {0x0A14 , L  }, /* GURMUKHI LETTER AU */
  {0x0A15 , L  }, /* GURMUKHI LETTER KA */
  {0x0A16 , L  }, /* GURMUKHI LETTER KHA */
  {0x0A17 , L  }, /* GURMUKHI LETTER GA */
  {0x0A18 , L  }, /* GURMUKHI LETTER GHA */
  {0x0A19 , L  }, /* GURMUKHI LETTER NGA */
  {0x0A1A , L  }, /* GURMUKHI LETTER CA */
  {0x0A1B , L  }, /* GURMUKHI LETTER CHA */
  {0x0A1C , L  }, /* GURMUKHI LETTER JA */
  {0x0A1D , L  }, /* GURMUKHI LETTER JHA */
  {0x0A1E , L  }, /* GURMUKHI LETTER NYA */
  {0x0A1F , L  }, /* GURMUKHI LETTER TTA */
  {0x0A20 , L  }, /* GURMUKHI LETTER TTHA */
  {0x0A21 , L  }, /* GURMUKHI LETTER DDA */
  {0x0A22 , L  }, /* GURMUKHI LETTER DDHA */
  {0x0A23 , L  }, /* GURMUKHI LETTER NNA */
  {0x0A24 , L  }, /* GURMUKHI LETTER TA */
  {0x0A25 , L  }, /* GURMUKHI LETTER THA */
  {0x0A26 , L  }, /* GURMUKHI LETTER DA */
  {0x0A27 , L  }, /* GURMUKHI LETTER DHA */
  {0x0A28 , L  }, /* GURMUKHI LETTER NA */
  {0x0A2A , L  }, /* GURMUKHI LETTER PA */
  {0x0A2B , L  }, /* GURMUKHI LETTER PHA */
  {0x0A2C , L  }, /* GURMUKHI LETTER BA */
  {0x0A2D , L  }, /* GURMUKHI LETTER BHA */
  {0x0A2E , L  }, /* GURMUKHI LETTER MA */
  {0x0A2F , L  }, /* GURMUKHI LETTER YA */
  {0x0A30 , L  }, /* GURMUKHI LETTER RA */
  {0x0A32 , L  }, /* GURMUKHI LETTER LA */
  {0x0A33 , L  }, /* GURMUKHI LETTER LLA */
  {0x0A35 , L  }, /* GURMUKHI LETTER VA */
  {0x0A36 , L  }, /* GURMUKHI LETTER SHA */
  {0x0A38 , L  }, /* GURMUKHI LETTER SA */
  {0x0A39 , L  }, /* GURMUKHI LETTER HA */
  {0x0A3C , NSM}, /* GURMUKHI SIGN NUKTA */
  {0x0A3E , L  }, /* GURMUKHI VOWEL SIGN AA */
  {0x0A3F , L  }, /* GURMUKHI VOWEL SIGN I */
  {0x0A40 , L  }, /* GURMUKHI VOWEL SIGN II */
  {0x0A41 , NSM}, /* GURMUKHI VOWEL SIGN U */
  {0x0A42 , NSM}, /* GURMUKHI VOWEL SIGN UU */
  {0x0A47 , NSM}, /* GURMUKHI VOWEL SIGN EE */
  {0x0A48 , NSM}, /* GURMUKHI VOWEL SIGN AI */
  {0x0A4B , NSM}, /* GURMUKHI VOWEL SIGN OO */
  {0x0A4C , NSM}, /* GURMUKHI VOWEL SIGN AU */
  {0x0A4D , NSM}, /* GURMUKHI SIGN VIRAMA */
  {0x0A59 , L  }, /* GURMUKHI LETTER KHHA */
  {0x0A5A , L  }, /* GURMUKHI LETTER GHHA */
  {0x0A5B , L  }, /* GURMUKHI LETTER ZA */
  {0x0A5C , L  }, /* GURMUKHI LETTER RRA */
  {0x0A5E , L  }, /* GURMUKHI LETTER FA */
  {0x0A66 , L  }, /* GURMUKHI DIGIT ZERO */
  {0x0A67 , L  }, /* GURMUKHI DIGIT ONE */
  {0x0A68 , L  }, /* GURMUKHI DIGIT TWO */
  {0x0A69 , L  }, /* GURMUKHI DIGIT THREE */
  {0x0A6A , L  }, /* GURMUKHI DIGIT FOUR */
  {0x0A6B , L  }, /* GURMUKHI DIGIT FIVE */
  {0x0A6C , L  }, /* GURMUKHI DIGIT SIX */
  {0x0A6D , L  }, /* GURMUKHI DIGIT SEVEN */
  {0x0A6E , L  }, /* GURMUKHI DIGIT EIGHT */
  {0x0A6F , L  }, /* GURMUKHI DIGIT NINE */
  {0x0A70 , NSM}, /* GURMUKHI TIPPI */
  {0x0A71 , NSM}, /* GURMUKHI ADDAK */
  {0x0A72 , L  }, /* GURMUKHI IRI */
  {0x0A73 , L  }, /* GURMUKHI URA */
  {0x0A74 , L  }, /* GURMUKHI EK ONKAR */
  {0x0A81 , NSM}, /* GUJARATI SIGN CANDRABINDU */
  {0x0A82 , NSM}, /* GUJARATI SIGN ANUSVARA */
  {0x0A83 , L  }, /* GUJARATI SIGN VISARGA */
  {0x0A85 , L  }, /* GUJARATI LETTER A */
  {0x0A86 , L  }, /* GUJARATI LETTER AA */
  {0x0A87 , L  }, /* GUJARATI LETTER I */
  {0x0A88 , L  }, /* GUJARATI LETTER II */
  {0x0A89 , L  }, /* GUJARATI LETTER U */
  {0x0A8A , L  }, /* GUJARATI LETTER UU */
  {0x0A8B , L  }, /* GUJARATI LETTER VOCALIC R */
  {0x0A8C , L  }, /* GUJARATI LETTER VOCALIC L */
  {0x0A8D , L  }, /* GUJARATI VOWEL CANDRA E */
  {0x0A8F , L  }, /* GUJARATI LETTER E */
  {0x0A90 , L  }, /* GUJARATI LETTER AI */
  {0x0A91 , L  }, /* GUJARATI VOWEL CANDRA O */
  {0x0A93 , L  }, /* GUJARATI LETTER O */
  {0x0A94 , L  }, /* GUJARATI LETTER AU */
  {0x0A95 , L  }, /* GUJARATI LETTER KA */
  {0x0A96 , L  }, /* GUJARATI LETTER KHA */
  {0x0A97 , L  }, /* GUJARATI LETTER GA */
  {0x0A98 , L  }, /* GUJARATI LETTER GHA */
  {0x0A99 , L  }, /* GUJARATI LETTER NGA */
  {0x0A9A , L  }, /* GUJARATI LETTER CA */
  {0x0A9B , L  }, /* GUJARATI LETTER CHA */
  {0x0A9C , L  }, /* GUJARATI LETTER JA */
  {0x0A9D , L  }, /* GUJARATI LETTER JHA */
  {0x0A9E , L  }, /* GUJARATI LETTER NYA */
  {0x0A9F , L  }, /* GUJARATI LETTER TTA */
  {0x0AA0 , L  }, /* GUJARATI LETTER TTHA */
  {0x0AA1 , L  }, /* GUJARATI LETTER DDA */
  {0x0AA2 , L  }, /* GUJARATI LETTER DDHA */
  {0x0AA3 , L  }, /* GUJARATI LETTER NNA */
  {0x0AA4 , L  }, /* GUJARATI LETTER TA */
  {0x0AA5 , L  }, /* GUJARATI LETTER THA */
  {0x0AA6 , L  }, /* GUJARATI LETTER DA */
  {0x0AA7 , L  }, /* GUJARATI LETTER DHA */
  {0x0AA8 , L  }, /* GUJARATI LETTER NA */
  {0x0AAA , L  }, /* GUJARATI LETTER PA */
  {0x0AAB , L  }, /* GUJARATI LETTER PHA */
  {0x0AAC , L  }, /* GUJARATI LETTER BA */
  {0x0AAD , L  }, /* GUJARATI LETTER BHA */
  {0x0AAE , L  }, /* GUJARATI LETTER MA */
  {0x0AAF , L  }, /* GUJARATI LETTER YA */
  {0x0AB0 , L  }, /* GUJARATI LETTER RA */
  {0x0AB2 , L  }, /* GUJARATI LETTER LA */
  {0x0AB3 , L  }, /* GUJARATI LETTER LLA */
  {0x0AB5 , L  }, /* GUJARATI LETTER VA */
  {0x0AB6 , L  }, /* GUJARATI LETTER SHA */
  {0x0AB7 , L  }, /* GUJARATI LETTER SSA */
  {0x0AB8 , L  }, /* GUJARATI LETTER SA */
  {0x0AB9 , L  }, /* GUJARATI LETTER HA */
  {0x0ABC , NSM}, /* GUJARATI SIGN NUKTA */
  {0x0ABD , L  }, /* GUJARATI SIGN AVAGRAHA */
  {0x0ABE , L  }, /* GUJARATI VOWEL SIGN AA */
  {0x0ABF , L  }, /* GUJARATI VOWEL SIGN I */
  {0x0AC0 , L  }, /* GUJARATI VOWEL SIGN II */
  {0x0AC1 , NSM}, /* GUJARATI VOWEL SIGN U */
  {0x0AC2 , NSM}, /* GUJARATI VOWEL SIGN UU */
  {0x0AC3 , NSM}, /* GUJARATI VOWEL SIGN VOCALIC R */
  {0x0AC4 , NSM}, /* GUJARATI VOWEL SIGN VOCALIC RR */
  {0x0AC5 , NSM}, /* GUJARATI VOWEL SIGN CANDRA E */
  {0x0AC7 , NSM}, /* GUJARATI VOWEL SIGN E */
  {0x0AC8 , NSM}, /* GUJARATI VOWEL SIGN AI */
  {0x0AC9 , L  }, /* GUJARATI VOWEL SIGN CANDRA O */
  {0x0ACB , L  }, /* GUJARATI VOWEL SIGN O */
  {0x0ACC , L  }, /* GUJARATI VOWEL SIGN AU */
  {0x0ACD , NSM}, /* GUJARATI SIGN VIRAMA */
  {0x0AD0 , L  }, /* GUJARATI OM */
  {0x0AE0 , L  }, /* GUJARATI LETTER VOCALIC RR */
  {0x0AE1 , L  }, /* GUJARATI LETTER VOCALIC LL */
  {0x0AE2 , NSM}, /* GUJARATI VOWEL SIGN VOCALIC L */
  {0x0AE3 , NSM}, /* GUJARATI VOWEL SIGN VOCALIC LL */
  {0x0AE6 , L  }, /* GUJARATI DIGIT ZERO */
  {0x0AE7 , L  }, /* GUJARATI DIGIT ONE */
  {0x0AE8 , L  }, /* GUJARATI DIGIT TWO */
  {0x0AE9 , L  }, /* GUJARATI DIGIT THREE */
  {0x0AEA , L  }, /* GUJARATI DIGIT FOUR */
  {0x0AEB , L  }, /* GUJARATI DIGIT FIVE */
  {0x0AEC , L  }, /* GUJARATI DIGIT SIX */
  {0x0AED , L  }, /* GUJARATI DIGIT SEVEN */
  {0x0AEE , L  }, /* GUJARATI DIGIT EIGHT */
  {0x0AEF , L  }, /* GUJARATI DIGIT NINE */
  {0x0AF1 , ET }, /* GUJARATI RUPEE SIGN */
  {0x0B01 , NSM}, /* ORIYA SIGN CANDRABINDU */
  {0x0B02 , L  }, /* ORIYA SIGN ANUSVARA */
  {0x0B03 , L  }, /* ORIYA SIGN VISARGA */
  {0x0B05 , L  }, /* ORIYA LETTER A */
  {0x0B06 , L  }, /* ORIYA LETTER AA */
  {0x0B07 , L  }, /* ORIYA LETTER I */
  {0x0B08 , L  }, /* ORIYA LETTER II */
  {0x0B09 , L  }, /* ORIYA LETTER U */
  {0x0B0A , L  }, /* ORIYA LETTER UU */
  {0x0B0B , L  }, /* ORIYA LETTER VOCALIC R */
  {0x0B0C , L  }, /* ORIYA LETTER VOCALIC L */
  {0x0B0F , L  }, /* ORIYA LETTER E */
  {0x0B10 , L  }, /* ORIYA LETTER AI */
  {0x0B13 , L  }, /* ORIYA LETTER O */
  {0x0B14 , L  }, /* ORIYA LETTER AU */
  {0x0B15 , L  }, /* ORIYA LETTER KA */
  {0x0B16 , L  }, /* ORIYA LETTER KHA */
  {0x0B17 , L  }, /* ORIYA LETTER GA */
  {0x0B18 , L  }, /* ORIYA LETTER GHA */
  {0x0B19 , L  }, /* ORIYA LETTER NGA */
  {0x0B1A , L  }, /* ORIYA LETTER CA */
  {0x0B1B , L  }, /* ORIYA LETTER CHA */
  {0x0B1C , L  }, /* ORIYA LETTER JA */
  {0x0B1D , L  }, /* ORIYA LETTER JHA */
  {0x0B1E , L  }, /* ORIYA LETTER NYA */
  {0x0B1F , L  }, /* ORIYA LETTER TTA */
  {0x0B20 , L  }, /* ORIYA LETTER TTHA */
  {0x0B21 , L  }, /* ORIYA LETTER DDA */
  {0x0B22 , L  }, /* ORIYA LETTER DDHA */
  {0x0B23 , L  }, /* ORIYA LETTER NNA */
  {0x0B24 , L  }, /* ORIYA LETTER TA */
  {0x0B25 , L  }, /* ORIYA LETTER THA */
  {0x0B26 , L  }, /* ORIYA LETTER DA */
  {0x0B27 , L  }, /* ORIYA LETTER DHA */
  {0x0B28 , L  }, /* ORIYA LETTER NA */
  {0x0B2A , L  }, /* ORIYA LETTER PA */
  {0x0B2B , L  }, /* ORIYA LETTER PHA */
  {0x0B2C , L  }, /* ORIYA LETTER BA */
  {0x0B2D , L  }, /* ORIYA LETTER BHA */
  {0x0B2E , L  }, /* ORIYA LETTER MA */
  {0x0B2F , L  }, /* ORIYA LETTER YA */
  {0x0B30 , L  }, /* ORIYA LETTER RA */
  {0x0B32 , L  }, /* ORIYA LETTER LA */
  {0x0B33 , L  }, /* ORIYA LETTER LLA */
  {0x0B35 , L  }, /* ORIYA LETTER VA */
  {0x0B36 , L  }, /* ORIYA LETTER SHA */
  {0x0B37 , L  }, /* ORIYA LETTER SSA */
  {0x0B38 , L  }, /* ORIYA LETTER SA */
  {0x0B39 , L  }, /* ORIYA LETTER HA */
  {0x0B3C , NSM}, /* ORIYA SIGN NUKTA */
  {0x0B3D , L  }, /* ORIYA SIGN AVAGRAHA */
  {0x0B3E , L  }, /* ORIYA VOWEL SIGN AA */
  {0x0B3F , NSM}, /* ORIYA VOWEL SIGN I */
  {0x0B40 , L  }, /* ORIYA VOWEL SIGN II */
  {0x0B41 , NSM}, /* ORIYA VOWEL SIGN U */
  {0x0B42 , NSM}, /* ORIYA VOWEL SIGN UU */
  {0x0B43 , NSM}, /* ORIYA VOWEL SIGN VOCALIC R */
  {0x0B47 , L  }, /* ORIYA VOWEL SIGN E */
  {0x0B48 , L  }, /* ORIYA VOWEL SIGN AI */
  {0x0B4B , L  }, /* ORIYA VOWEL SIGN O */
  {0x0B4C , L  }, /* ORIYA VOWEL SIGN AU */
  {0x0B4D , NSM}, /* ORIYA SIGN VIRAMA */
  {0x0B56 , NSM}, /* ORIYA AI LENGTH MARK */
  {0x0B57 , L  }, /* ORIYA AU LENGTH MARK */
  {0x0B5C , L  }, /* ORIYA LETTER RRA */
  {0x0B5D , L  }, /* ORIYA LETTER RHA */
  {0x0B5F , L  }, /* ORIYA LETTER YYA */
  {0x0B60 , L  }, /* ORIYA LETTER VOCALIC RR */
  {0x0B61 , L  }, /* ORIYA LETTER VOCALIC LL */
  {0x0B66 , L  }, /* ORIYA DIGIT ZERO */
  {0x0B67 , L  }, /* ORIYA DIGIT ONE */
  {0x0B68 , L  }, /* ORIYA DIGIT TWO */
  {0x0B69 , L  }, /* ORIYA DIGIT THREE */
  {0x0B6A , L  }, /* ORIYA DIGIT FOUR */
  {0x0B6B , L  }, /* ORIYA DIGIT FIVE */
  {0x0B6C , L  }, /* ORIYA DIGIT SIX */
  {0x0B6D , L  }, /* ORIYA DIGIT SEVEN */
  {0x0B6E , L  }, /* ORIYA DIGIT EIGHT */
  {0x0B6F , L  }, /* ORIYA DIGIT NINE */
  {0x0B70 , L  }, /* ORIYA ISSHAR */
  {0x0B71 , L  }, /* ORIYA LETTER WA */
  {0x0B82 , NSM}, /* TAMIL SIGN ANUSVARA */
  {0x0B83 , L  }, /* TAMIL SIGN VISARGA */
  {0x0B85 , L  }, /* TAMIL LETTER A */
  {0x0B86 , L  }, /* TAMIL LETTER AA */
  {0x0B87 , L  }, /* TAMIL LETTER I */
  {0x0B88 , L  }, /* TAMIL LETTER II */
  {0x0B89 , L  }, /* TAMIL LETTER U */
  {0x0B8A , L  }, /* TAMIL LETTER UU */
  {0x0B8E , L  }, /* TAMIL LETTER E */
  {0x0B8F , L  }, /* TAMIL LETTER EE */
  {0x0B90 , L  }, /* TAMIL LETTER AI */
  {0x0B92 , L  }, /* TAMIL LETTER O */
  {0x0B93 , L  }, /* TAMIL LETTER OO */
  {0x0B94 , L  }, /* TAMIL LETTER AU */
  {0x0B95 , L  }, /* TAMIL LETTER KA */
  {0x0B99 , L  }, /* TAMIL LETTER NGA */
  {0x0B9A , L  }, /* TAMIL LETTER CA */
  {0x0B9C , L  }, /* TAMIL LETTER JA */
  {0x0B9E , L  }, /* TAMIL LETTER NYA */
  {0x0B9F , L  }, /* TAMIL LETTER TTA */
  {0x0BA3 , L  }, /* TAMIL LETTER NNA */
  {0x0BA4 , L  }, /* TAMIL LETTER TA */
  {0x0BA8 , L  }, /* TAMIL LETTER NA */
  {0x0BA9 , L  }, /* TAMIL LETTER NNNA */
  {0x0BAA , L  }, /* TAMIL LETTER PA */
  {0x0BAE , L  }, /* TAMIL LETTER MA */
  {0x0BAF , L  }, /* TAMIL LETTER YA */
  {0x0BB0 , L  }, /* TAMIL LETTER RA */
  {0x0BB1 , L  }, /* TAMIL LETTER RRA */
  {0x0BB2 , L  }, /* TAMIL LETTER LA */
  {0x0BB3 , L  }, /* TAMIL LETTER LLA */
  {0x0BB4 , L  }, /* TAMIL LETTER LLLA */
  {0x0BB5 , L  }, /* TAMIL LETTER VA */
  {0x0BB6 , L  }, /* TAMIL LETTER SHA */
  {0x0BB7 , L  }, /* TAMIL LETTER SSA */
  {0x0BB8 , L  }, /* TAMIL LETTER SA */
  {0x0BB9 , L  }, /* TAMIL LETTER HA */
  {0x0BBE , L  }, /* TAMIL VOWEL SIGN AA */
  {0x0BBF , L  }, /* TAMIL VOWEL SIGN I */
  {0x0BC0 , NSM}, /* TAMIL VOWEL SIGN II */
  {0x0BC1 , L  }, /* TAMIL VOWEL SIGN U */
  {0x0BC2 , L  }, /* TAMIL VOWEL SIGN UU */
  {0x0BC6 , L  }, /* TAMIL VOWEL SIGN E */
  {0x0BC7 , L  }, /* TAMIL VOWEL SIGN EE */
  {0x0BC8 , L  }, /* TAMIL VOWEL SIGN AI */
  {0x0BCA , L  }, /* TAMIL VOWEL SIGN O */
  {0x0BCB , L  }, /* TAMIL VOWEL SIGN OO */
  {0x0BCC , L  }, /* TAMIL VOWEL SIGN AU */
  {0x0BCD , NSM}, /* TAMIL SIGN VIRAMA */
  {0x0BD7 , L  }, /* TAMIL AU LENGTH MARK */
  {0x0BE6 , L  }, /* TAMIL DIGIT ZERO */
  {0x0BE7 , L  }, /* TAMIL DIGIT ONE */
  {0x0BE8 , L  }, /* TAMIL DIGIT TWO */
  {0x0BE9 , L  }, /* TAMIL DIGIT THREE */
  {0x0BEA , L  }, /* TAMIL DIGIT FOUR */
  {0x0BEB , L  }, /* TAMIL DIGIT FIVE */
  {0x0BEC , L  }, /* TAMIL DIGIT SIX */
  {0x0BED , L  }, /* TAMIL DIGIT SEVEN */
  {0x0BEE , L  }, /* TAMIL DIGIT EIGHT */
  {0x0BEF , L  }, /* TAMIL DIGIT NINE */
  {0x0BF0 , L  }, /* TAMIL NUMBER TEN */
  {0x0BF1 , L  }, /* TAMIL NUMBER ONE HUNDRED */
  {0x0BF2 , L  }, /* TAMIL NUMBER ONE THOUSAND */
  {0x0BF3 , ON }, /* TAMIL DAY SIGN */
  {0x0BF4 , ON }, /* TAMIL MONTH SIGN */
  {0x0BF5 , ON }, /* TAMIL YEAR SIGN */
  {0x0BF6 , ON }, /* TAMIL DEBIT SIGN */
  {0x0BF7 , ON }, /* TAMIL CREDIT SIGN */
  {0x0BF8 , ON }, /* TAMIL AS ABOVE SIGN */
  {0x0BF9 , ET }, /* TAMIL RUPEE SIGN */
  {0x0BFA , ON }, /* TAMIL NUMBER SIGN */
  {0x0C01 , L  }, /* TELUGU SIGN CANDRABINDU */
  {0x0C02 , L  }, /* TELUGU SIGN ANUSVARA */
  {0x0C03 , L  }, /* TELUGU SIGN VISARGA */
  {0x0C05 , L  }, /* TELUGU LETTER A */
  {0x0C06 , L  }, /* TELUGU LETTER AA */
  {0x0C07 , L  }, /* TELUGU LETTER I */
  {0x0C08 , L  }, /* TELUGU LETTER II */
  {0x0C09 , L  }, /* TELUGU LETTER U */
  {0x0C0A , L  }, /* TELUGU LETTER UU */
  {0x0C0B , L  }, /* TELUGU LETTER VOCALIC R */
  {0x0C0C , L  }, /* TELUGU LETTER VOCALIC L */
  {0x0C0E , L  }, /* TELUGU LETTER E */
  {0x0C0F , L  }, /* TELUGU LETTER EE */
  {0x0C10 , L  }, /* TELUGU LETTER AI */
  {0x0C12 , L  }, /* TELUGU LETTER O */
  {0x0C13 , L  }, /* TELUGU LETTER OO */
  {0x0C14 , L  }, /* TELUGU LETTER AU */
  {0x0C15 , L  }, /* TELUGU LETTER KA */
  {0x0C16 , L  }, /* TELUGU LETTER KHA */
  {0x0C17 , L  }, /* TELUGU LETTER GA */
  {0x0C18 , L  }, /* TELUGU LETTER GHA */
  {0x0C19 , L  }, /* TELUGU LETTER NGA */
  {0x0C1A , L  }, /* TELUGU LETTER CA */
  {0x0C1B , L  }, /* TELUGU LETTER CHA */
  {0x0C1C , L  }, /* TELUGU LETTER JA */
  {0x0C1D , L  }, /* TELUGU LETTER JHA */
  {0x0C1E , L  }, /* TELUGU LETTER NYA */
  {0x0C1F , L  }, /* TELUGU LETTER TTA */
  {0x0C20 , L  }, /* TELUGU LETTER TTHA */
  {0x0C21 , L  }, /* TELUGU LETTER DDA */
  {0x0C22 , L  }, /* TELUGU LETTER DDHA */
  {0x0C23 , L  }, /* TELUGU LETTER NNA */
  {0x0C24 , L  }, /* TELUGU LETTER TA */
  {0x0C25 , L  }, /* TELUGU LETTER THA */
  {0x0C26 , L  }, /* TELUGU LETTER DA */
  {0x0C27 , L  }, /* TELUGU LETTER DHA */
  {0x0C28 , L  }, /* TELUGU LETTER NA */
  {0x0C2A , L  }, /* TELUGU LETTER PA */
  {0x0C2B , L  }, /* TELUGU LETTER PHA */
  {0x0C2C , L  }, /* TELUGU LETTER BA */
  {0x0C2D , L  }, /* TELUGU LETTER BHA */
  {0x0C2E , L  }, /* TELUGU LETTER MA */
  {0x0C2F , L  }, /* TELUGU LETTER YA */
  {0x0C30 , L  }, /* TELUGU LETTER RA */
  {0x0C31 , L  }, /* TELUGU LETTER RRA */
  {0x0C32 , L  }, /* TELUGU LETTER LA */
  {0x0C33 , L  }, /* TELUGU LETTER LLA */
  {0x0C35 , L  }, /* TELUGU LETTER VA */
  {0x0C36 , L  }, /* TELUGU LETTER SHA */
  {0x0C37 , L  }, /* TELUGU LETTER SSA */
  {0x0C38 , L  }, /* TELUGU LETTER SA */
  {0x0C39 , L  }, /* TELUGU LETTER HA */
  {0x0C3E , NSM}, /* TELUGU VOWEL SIGN AA */
  {0x0C3F , NSM}, /* TELUGU VOWEL SIGN I */
  {0x0C40 , NSM}, /* TELUGU VOWEL SIGN II */
  {0x0C41 , L  }, /* TELUGU VOWEL SIGN U */
  {0x0C42 , L  }, /* TELUGU VOWEL SIGN UU */
  {0x0C43 , L  }, /* TELUGU VOWEL SIGN VOCALIC R */
  {0x0C44 , L  }, /* TELUGU VOWEL SIGN VOCALIC RR */
  {0x0C46 , NSM}, /* TELUGU VOWEL SIGN E */
  {0x0C47 , NSM}, /* TELUGU VOWEL SIGN EE */
  {0x0C48 , NSM}, /* TELUGU VOWEL SIGN AI */
  {0x0C4A , NSM}, /* TELUGU VOWEL SIGN O */
  {0x0C4B , NSM}, /* TELUGU VOWEL SIGN OO */
  {0x0C4C , NSM}, /* TELUGU VOWEL SIGN AU */
  {0x0C4D , NSM}, /* TELUGU SIGN VIRAMA */
  {0x0C55 , NSM}, /* TELUGU LENGTH MARK */
  {0x0C56 , NSM}, /* TELUGU AI LENGTH MARK */
  {0x0C60 , L  }, /* TELUGU LETTER VOCALIC RR */
  {0x0C61 , L  }, /* TELUGU LETTER VOCALIC LL */
  {0x0C66 , L  }, /* TELUGU DIGIT ZERO */
  {0x0C67 , L  }, /* TELUGU DIGIT ONE */
  {0x0C68 , L  }, /* TELUGU DIGIT TWO */
  {0x0C69 , L  }, /* TELUGU DIGIT THREE */
  {0x0C6A , L  }, /* TELUGU DIGIT FOUR */
  {0x0C6B , L  }, /* TELUGU DIGIT FIVE */
  {0x0C6C , L  }, /* TELUGU DIGIT SIX */
  {0x0C6D , L  }, /* TELUGU DIGIT SEVEN */
  {0x0C6E , L  }, /* TELUGU DIGIT EIGHT */
  {0x0C6F , L  }, /* TELUGU DIGIT NINE */
  {0x0C82 , L  }, /* KANNADA SIGN ANUSVARA */
  {0x0C83 , L  }, /* KANNADA SIGN VISARGA */
  {0x0C85 , L  }, /* KANNADA LETTER A */
  {0x0C86 , L  }, /* KANNADA LETTER AA */
  {0x0C87 , L  }, /* KANNADA LETTER I */
  {0x0C88 , L  }, /* KANNADA LETTER II */
  {0x0C89 , L  }, /* KANNADA LETTER U */
  {0x0C8A , L  }, /* KANNADA LETTER UU */
  {0x0C8B , L  }, /* KANNADA LETTER VOCALIC R */
  {0x0C8C , L  }, /* KANNADA LETTER VOCALIC L */
  {0x0C8E , L  }, /* KANNADA LETTER E */
  {0x0C8F , L  }, /* KANNADA LETTER EE */
  {0x0C90 , L  }, /* KANNADA LETTER AI */
  {0x0C92 , L  }, /* KANNADA LETTER O */
  {0x0C93 , L  }, /* KANNADA LETTER OO */
  {0x0C94 , L  }, /* KANNADA LETTER AU */
  {0x0C95 , L  }, /* KANNADA LETTER KA */
  {0x0C96 , L  }, /* KANNADA LETTER KHA */
  {0x0C97 , L  }, /* KANNADA LETTER GA */
  {0x0C98 , L  }, /* KANNADA LETTER GHA */
  {0x0C99 , L  }, /* KANNADA LETTER NGA */
  {0x0C9A , L  }, /* KANNADA LETTER CA */
  {0x0C9B , L  }, /* KANNADA LETTER CHA */
  {0x0C9C , L  }, /* KANNADA LETTER JA */
  {0x0C9D , L  }, /* KANNADA LETTER JHA */
  {0x0C9E , L  }, /* KANNADA LETTER NYA */
  {0x0C9F , L  }, /* KANNADA LETTER TTA */
  {0x0CA0 , L  }, /* KANNADA LETTER TTHA */
  {0x0CA1 , L  }, /* KANNADA LETTER DDA */
  {0x0CA2 , L  }, /* KANNADA LETTER DDHA */
  {0x0CA3 , L  }, /* KANNADA LETTER NNA */
  {0x0CA4 , L  }, /* KANNADA LETTER TA */
  {0x0CA5 , L  }, /* KANNADA LETTER THA */
  {0x0CA6 , L  }, /* KANNADA LETTER DA */
  {0x0CA7 , L  }, /* KANNADA LETTER DHA */
  {0x0CA8 , L  }, /* KANNADA LETTER NA */
  {0x0CAA , L  }, /* KANNADA LETTER PA */
  {0x0CAB , L  }, /* KANNADA LETTER PHA */
  {0x0CAC , L  }, /* KANNADA LETTER BA */
  {0x0CAD , L  }, /* KANNADA LETTER BHA */
  {0x0CAE , L  }, /* KANNADA LETTER MA */
  {0x0CAF , L  }, /* KANNADA LETTER YA */
  {0x0CB0 , L  }, /* KANNADA LETTER RA */
  {0x0CB1 , L  }, /* KANNADA LETTER RRA */
  {0x0CB2 , L  }, /* KANNADA LETTER LA */
  {0x0CB3 , L  }, /* KANNADA LETTER LLA */
  {0x0CB5 , L  }, /* KANNADA LETTER VA */
  {0x0CB6 , L  }, /* KANNADA LETTER SHA */
  {0x0CB7 , L  }, /* KANNADA LETTER SSA */
  {0x0CB8 , L  }, /* KANNADA LETTER SA */
  {0x0CB9 , L  }, /* KANNADA LETTER HA */
  {0x0CBC , NSM}, /* KANNADA SIGN NUKTA */
  {0x0CBD , L  }, /* KANNADA SIGN AVAGRAHA */
  {0x0CBE , L  }, /* KANNADA VOWEL SIGN AA */
  {0x0CBF , L  }, /* KANNADA VOWEL SIGN I */
  {0x0CC0 , L  }, /* KANNADA VOWEL SIGN II */
  {0x0CC1 , L  }, /* KANNADA VOWEL SIGN U */
  {0x0CC2 , L  }, /* KANNADA VOWEL SIGN UU */
  {0x0CC3 , L  }, /* KANNADA VOWEL SIGN VOCALIC R */
  {0x0CC4 , L  }, /* KANNADA VOWEL SIGN VOCALIC RR */
  {0x0CC6 , L  }, /* KANNADA VOWEL SIGN E */
  {0x0CC7 , L  }, /* KANNADA VOWEL SIGN EE */
  {0x0CC8 , L  }, /* KANNADA VOWEL SIGN AI */
  {0x0CCA , L  }, /* KANNADA VOWEL SIGN O */
  {0x0CCB , L  }, /* KANNADA VOWEL SIGN OO */
  {0x0CCC , NSM}, /* KANNADA VOWEL SIGN AU */
  {0x0CCD , NSM}, /* KANNADA SIGN VIRAMA */
  {0x0CD5 , L  }, /* KANNADA LENGTH MARK */
  {0x0CD6 , L  }, /* KANNADA AI LENGTH MARK */
  {0x0CDE , L  }, /* KANNADA LETTER FA */
  {0x0CE0 , L  }, /* KANNADA LETTER VOCALIC RR */
  {0x0CE1 , L  }, /* KANNADA LETTER VOCALIC LL */
  {0x0CE6 , L  }, /* KANNADA DIGIT ZERO */
  {0x0CE7 , L  }, /* KANNADA DIGIT ONE */
  {0x0CE8 , L  }, /* KANNADA DIGIT TWO */
  {0x0CE9 , L  }, /* KANNADA DIGIT THREE */
  {0x0CEA , L  }, /* KANNADA DIGIT FOUR */
  {0x0CEB , L  }, /* KANNADA DIGIT FIVE */
  {0x0CEC , L  }, /* KANNADA DIGIT SIX */
  {0x0CED , L  }, /* KANNADA DIGIT SEVEN */
  {0x0CEE , L  }, /* KANNADA DIGIT EIGHT */
  {0x0CEF , L  }, /* KANNADA DIGIT NINE */
  {0x0D02 , L  }, /* MALAYALAM SIGN ANUSVARA */
  {0x0D03 , L  }, /* MALAYALAM SIGN VISARGA */
  {0x0D05 , L  }, /* MALAYALAM LETTER A */
  {0x0D06 , L  }, /* MALAYALAM LETTER AA */
  {0x0D07 , L  }, /* MALAYALAM LETTER I */
  {0x0D08 , L  }, /* MALAYALAM LETTER II */
  {0x0D09 , L  }, /* MALAYALAM LETTER U */
  {0x0D0A , L  }, /* MALAYALAM LETTER UU */
  {0x0D0B , L  }, /* MALAYALAM LETTER VOCALIC R */
  {0x0D0C , L  }, /* MALAYALAM LETTER VOCALIC L */
  {0x0D0E , L  }, /* MALAYALAM LETTER E */
  {0x0D0F , L  }, /* MALAYALAM LETTER EE */
  {0x0D10 , L  }, /* MALAYALAM LETTER AI */
  {0x0D12 , L  }, /* MALAYALAM LETTER O */
  {0x0D13 , L  }, /* MALAYALAM LETTER OO */
  {0x0D14 , L  }, /* MALAYALAM LETTER AU */
  {0x0D15 , L  }, /* MALAYALAM LETTER KA */
  {0x0D16 , L  }, /* MALAYALAM LETTER KHA */
  {0x0D17 , L  }, /* MALAYALAM LETTER GA */
  {0x0D18 , L  }, /* MALAYALAM LETTER GHA */
  {0x0D19 , L  }, /* MALAYALAM LETTER NGA */
  {0x0D1A , L  }, /* MALAYALAM LETTER CA */
  {0x0D1B , L  }, /* MALAYALAM LETTER CHA */
  {0x0D1C , L  }, /* MALAYALAM LETTER JA */
  {0x0D1D , L  }, /* MALAYALAM LETTER JHA */
  {0x0D1E , L  }, /* MALAYALAM LETTER NYA */
  {0x0D1F , L  }, /* MALAYALAM LETTER TTA */
  {0x0D20 , L  }, /* MALAYALAM LETTER TTHA */
  {0x0D21 , L  }, /* MALAYALAM LETTER DDA */
  {0x0D22 , L  }, /* MALAYALAM LETTER DDHA */
  {0x0D23 , L  }, /* MALAYALAM LETTER NNA */
  {0x0D24 , L  }, /* MALAYALAM LETTER TA */
  {0x0D25 , L  }, /* MALAYALAM LETTER THA */
  {0x0D26 , L  }, /* MALAYALAM LETTER DA */
  {0x0D27 , L  }, /* MALAYALAM LETTER DHA */
  {0x0D28 , L  }, /* MALAYALAM LETTER NA */
  {0x0D2A , L  }, /* MALAYALAM LETTER PA */
  {0x0D2B , L  }, /* MALAYALAM LETTER PHA */
  {0x0D2C , L  }, /* MALAYALAM LETTER BA */
  {0x0D2D , L  }, /* MALAYALAM LETTER BHA */
  {0x0D2E , L  }, /* MALAYALAM LETTER MA */
  {0x0D2F , L  }, /* MALAYALAM LETTER YA */
  {0x0D30 , L  }, /* MALAYALAM LETTER RA */
  {0x0D31 , L  }, /* MALAYALAM LETTER RRA */
  {0x0D32 , L  }, /* MALAYALAM LETTER LA */
  {0x0D33 , L  }, /* MALAYALAM LETTER LLA */
  {0x0D34 , L  }, /* MALAYALAM LETTER LLLA */
  {0x0D35 , L  }, /* MALAYALAM LETTER VA */
  {0x0D36 , L  }, /* MALAYALAM LETTER SHA */
  {0x0D37 , L  }, /* MALAYALAM LETTER SSA */
  {0x0D38 , L  }, /* MALAYALAM LETTER SA */
  {0x0D39 , L  }, /* MALAYALAM LETTER HA */
  {0x0D3E , L  }, /* MALAYALAM VOWEL SIGN AA */
  {0x0D3F , L  }, /* MALAYALAM VOWEL SIGN I */
  {0x0D40 , L  }, /* MALAYALAM VOWEL SIGN II */
  {0x0D41 , NSM}, /* MALAYALAM VOWEL SIGN U */
  {0x0D42 , NSM}, /* MALAYALAM VOWEL SIGN UU */
  {0x0D43 , NSM}, /* MALAYALAM VOWEL SIGN VOCALIC R */
  {0x0D46 , L  }, /* MALAYALAM VOWEL SIGN E */
  {0x0D47 , L  }, /* MALAYALAM VOWEL SIGN EE */
  {0x0D48 , L  }, /* MALAYALAM VOWEL SIGN AI */
  {0x0D4A , L  }, /* MALAYALAM VOWEL SIGN O */
  {0x0D4B , L  }, /* MALAYALAM VOWEL SIGN OO */
  {0x0D4C , L  }, /* MALAYALAM VOWEL SIGN AU */
  {0x0D4D , NSM}, /* MALAYALAM SIGN VIRAMA */
  {0x0D57 , L  }, /* MALAYALAM AU LENGTH MARK */
  {0x0D60 , L  }, /* MALAYALAM LETTER VOCALIC RR */
  {0x0D61 , L  }, /* MALAYALAM LETTER VOCALIC LL */
  {0x0D66 , L  }, /* MALAYALAM DIGIT ZERO */
  {0x0D67 , L  }, /* MALAYALAM DIGIT ONE */
  {0x0D68 , L  }, /* MALAYALAM DIGIT TWO */
  {0x0D69 , L  }, /* MALAYALAM DIGIT THREE */
  {0x0D6A , L  }, /* MALAYALAM DIGIT FOUR */
  {0x0D6B , L  }, /* MALAYALAM DIGIT FIVE */
  {0x0D6C , L  }, /* MALAYALAM DIGIT SIX */
  {0x0D6D , L  }, /* MALAYALAM DIGIT SEVEN */
  {0x0D6E , L  }, /* MALAYALAM DIGIT EIGHT */
  {0x0D6F , L  }, /* MALAYALAM DIGIT NINE */
  {0x0D82 , L  }, /* SINHALA SIGN ANUSVARAYA */
  {0x0D83 , L  }, /* SINHALA SIGN VISARGAYA */
  {0x0D85 , L  }, /* SINHALA LETTER AYANNA */
  {0x0D86 , L  }, /* SINHALA LETTER AAYANNA */
  {0x0D87 , L  }, /* SINHALA LETTER AEYANNA */
  {0x0D88 , L  }, /* SINHALA LETTER AEEYANNA */
  {0x0D89 , L  }, /* SINHALA LETTER IYANNA */
  {0x0D8A , L  }, /* SINHALA LETTER IIYANNA */
  {0x0D8B , L  }, /* SINHALA LETTER UYANNA */
  {0x0D8C , L  }, /* SINHALA LETTER UUYANNA */
  {0x0D8D , L  }, /* SINHALA LETTER IRUYANNA */
  {0x0D8E , L  }, /* SINHALA LETTER IRUUYANNA */
  {0x0D8F , L  }, /* SINHALA LETTER ILUYANNA */
  {0x0D90 , L  }, /* SINHALA LETTER ILUUYANNA */
  {0x0D91 , L  }, /* SINHALA LETTER EYANNA */
  {0x0D92 , L  }, /* SINHALA LETTER EEYANNA */
  {0x0D93 , L  }, /* SINHALA LETTER AIYANNA */
  {0x0D94 , L  }, /* SINHALA LETTER OYANNA */
  {0x0D95 , L  }, /* SINHALA LETTER OOYANNA */
  {0x0D96 , L  }, /* SINHALA LETTER AUYANNA */
  {0x0D9A , L  }, /* SINHALA LETTER ALPAPRAANA KAYANNA */
  {0x0D9B , L  }, /* SINHALA LETTER MAHAAPRAANA KAYANNA */
  {0x0D9C , L  }, /* SINHALA LETTER ALPAPRAANA GAYANNA */
  {0x0D9D , L  }, /* SINHALA LETTER MAHAAPRAANA GAYANNA */
  {0x0D9E , L  }, /* SINHALA LETTER KANTAJA NAASIKYAYA */
  {0x0D9F , L  }, /* SINHALA LETTER SANYAKA GAYANNA */
  {0x0DA0 , L  }, /* SINHALA LETTER ALPAPRAANA CAYANNA */
  {0x0DA1 , L  }, /* SINHALA LETTER MAHAAPRAANA CAYANNA */
  {0x0DA2 , L  }, /* SINHALA LETTER ALPAPRAANA JAYANNA */
  {0x0DA3 , L  }, /* SINHALA LETTER MAHAAPRAANA JAYANNA */
  {0x0DA4 , L  }, /* SINHALA LETTER TAALUJA NAASIKYAYA */
  {0x0DA5 , L  }, /* SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA */
  {0x0DA6 , L  }, /* SINHALA LETTER SANYAKA JAYANNA */
  {0x0DA7 , L  }, /* SINHALA LETTER ALPAPRAANA TTAYANNA */
  {0x0DA8 , L  }, /* SINHALA LETTER MAHAAPRAANA TTAYANNA */
  {0x0DA9 , L  }, /* SINHALA LETTER ALPAPRAANA DDAYANNA */
  {0x0DAA , L  }, /* SINHALA LETTER MAHAAPRAANA DDAYANNA */
  {0x0DAB , L  }, /* SINHALA LETTER MUURDHAJA NAYANNA */
  {0x0DAC , L  }, /* SINHALA LETTER SANYAKA DDAYANNA */
  {0x0DAD , L  }, /* SINHALA LETTER ALPAPRAANA TAYANNA */
  {0x0DAE , L  }, /* SINHALA LETTER MAHAAPRAANA TAYANNA */
  {0x0DAF , L  }, /* SINHALA LETTER ALPAPRAANA DAYANNA */
  {0x0DB0 , L  }, /* SINHALA LETTER MAHAAPRAANA DAYANNA */
  {0x0DB1 , L  }, /* SINHALA LETTER DANTAJA NAYANNA */
  {0x0DB3 , L  }, /* SINHALA LETTER SANYAKA DAYANNA */
  {0x0DB4 , L  }, /* SINHALA LETTER ALPAPRAANA PAYANNA */
  {0x0DB5 , L  }, /* SINHALA LETTER MAHAAPRAANA PAYANNA */
  {0x0DB6 , L  }, /* SINHALA LETTER ALPAPRAANA BAYANNA */
  {0x0DB7 , L  }, /* SINHALA LETTER MAHAAPRAANA BAYANNA */
  {0x0DB8 , L  }, /* SINHALA LETTER MAYANNA */
  {0x0DB9 , L  }, /* SINHALA LETTER AMBA BAYANNA */
  {0x0DBA , L  }, /* SINHALA LETTER YAYANNA */
  {0x0DBB , L  }, /* SINHALA LETTER RAYANNA */
  {0x0DBD , L  }, /* SINHALA LETTER DANTAJA LAYANNA */
  {0x0DC0 , L  }, /* SINHALA LETTER VAYANNA */
  {0x0DC1 , L  }, /* SINHALA LETTER TAALUJA SAYANNA */
  {0x0DC2 , L  }, /* SINHALA LETTER MUURDHAJA SAYANNA */
  {0x0DC3 , L  }, /* SINHALA LETTER DANTAJA SAYANNA */
  {0x0DC4 , L  }, /* SINHALA LETTER HAYANNA */
  {0x0DC5 , L  }, /* SINHALA LETTER MUURDHAJA LAYANNA */
  {0x0DC6 , L  }, /* SINHALA LETTER FAYANNA */
  {0x0DCA , NSM}, /* SINHALA SIGN AL-LAKUNA */
  {0x0DCF , L  }, /* SINHALA VOWEL SIGN AELA-PILLA */
  {0x0DD0 , L  }, /* SINHALA VOWEL SIGN KETTI AEDA-PILLA */
  {0x0DD1 , L  }, /* SINHALA VOWEL SIGN DIGA AEDA-PILLA */
  {0x0DD2 , NSM}, /* SINHALA VOWEL SIGN KETTI IS-PILLA */
  {0x0DD3 , NSM}, /* SINHALA VOWEL SIGN DIGA IS-PILLA */
  {0x0DD4 , NSM}, /* SINHALA VOWEL SIGN KETTI PAA-PILLA */
  {0x0DD6 , NSM}, /* SINHALA VOWEL SIGN DIGA PAA-PILLA */
  {0x0DD8 , L  }, /* SINHALA VOWEL SIGN GAETTA-PILLA */
  {0x0DD9 , L  }, /* SINHALA VOWEL SIGN KOMBUVA */
  {0x0DDA , L  }, /* SINHALA VOWEL SIGN DIGA KOMBUVA */
  {0x0DDB , L  }, /* SINHALA VOWEL SIGN KOMBU DEKA */
  {0x0DDC , L  }, /* SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA */
  {0x0DDD , L  }, /* SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA */
  {0x0DDE , L  }, /* SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA */
  {0x0DDF , L  }, /* SINHALA VOWEL SIGN GAYANUKITTA */
  {0x0DF2 , L  }, /* SINHALA VOWEL SIGN DIGA GAETTA-PILLA */
  {0x0DF3 , L  }, /* SINHALA VOWEL SIGN DIGA GAYANUKITTA */
  {0x0DF4 , L  }, /* SINHALA PUNCTUATION KUNDDALIYA */
  {0x0E01 , L  }, /* THAI CHARACTER KO KAI */
  {0x0E02 , L  }, /* THAI CHARACTER KHO KHAI */
  {0x0E03 , L  }, /* THAI CHARACTER KHO KHUAT */
  {0x0E04 , L  }, /* THAI CHARACTER KHO KHWAI */
  {0x0E05 , L  }, /* THAI CHARACTER KHO KHON */
  {0x0E06 , L  }, /* THAI CHARACTER KHO RAKHANG */
  {0x0E07 , L  }, /* THAI CHARACTER NGO NGU */
  {0x0E08 , L  }, /* THAI CHARACTER CHO CHAN */
  {0x0E09 , L  }, /* THAI CHARACTER CHO CHING */
  {0x0E0A , L  }, /* THAI CHARACTER CHO CHANG */
  {0x0E0B , L  }, /* THAI CHARACTER SO SO */
  {0x0E0C , L  }, /* THAI CHARACTER CHO CHOE */
  {0x0E0D , L  }, /* THAI CHARACTER YO YING */
  {0x0E0E , L  }, /* THAI CHARACTER DO CHADA */
  {0x0E0F , L  }, /* THAI CHARACTER TO PATAK */
  {0x0E10 , L  }, /* THAI CHARACTER THO THAN */
  {0x0E11 , L  }, /* THAI CHARACTER THO NANGMONTHO */
  {0x0E12 , L  }, /* THAI CHARACTER THO PHUTHAO */
  {0x0E13 , L  }, /* THAI CHARACTER NO NEN */
  {0x0E14 , L  }, /* THAI CHARACTER DO DEK */
  {0x0E15 , L  }, /* THAI CHARACTER TO TAO */
  {0x0E16 , L  }, /* THAI CHARACTER THO THUNG */
  {0x0E17 , L  }, /* THAI CHARACTER THO THAHAN */
  {0x0E18 , L  }, /* THAI CHARACTER THO THONG */
  {0x0E19 , L  }, /* THAI CHARACTER NO NU */
  {0x0E1A , L  }, /* THAI CHARACTER BO BAIMAI */
  {0x0E1B , L  }, /* THAI CHARACTER PO PLA */
  {0x0E1C , L  }, /* THAI CHARACTER PHO PHUNG */
  {0x0E1D , L  }, /* THAI CHARACTER FO FA */
  {0x0E1E , L  }, /* THAI CHARACTER PHO PHAN */
  {0x0E1F , L  }, /* THAI CHARACTER FO FAN */
  {0x0E20 , L  }, /* THAI CHARACTER PHO SAMPHAO */
  {0x0E21 , L  }, /* THAI CHARACTER MO MA */
  {0x0E22 , L  }, /* THAI CHARACTER YO YAK */
  {0x0E23 , L  }, /* THAI CHARACTER RO RUA */
  {0x0E24 , L  }, /* THAI CHARACTER RU */
  {0x0E25 , L  }, /* THAI CHARACTER LO LING */
  {0x0E26 , L  }, /* THAI CHARACTER LU */
  {0x0E27 , L  }, /* THAI CHARACTER WO WAEN */
  {0x0E28 , L  }, /* THAI CHARACTER SO SALA */
  {0x0E29 , L  }, /* THAI CHARACTER SO RUSI */
  {0x0E2A , L  }, /* THAI CHARACTER SO SUA */
  {0x0E2B , L  }, /* THAI CHARACTER HO HIP */
  {0x0E2C , L  }, /* THAI CHARACTER LO CHULA */
  {0x0E2D , L  }, /* THAI CHARACTER O ANG */
  {0x0E2E , L  }, /* THAI CHARACTER HO NOKHUK */
  {0x0E2F , L  }, /* THAI CHARACTER PAIYANNOI */
  {0x0E30 , L  }, /* THAI CHARACTER SARA A */
  {0x0E31 , NSM}, /* THAI CHARACTER MAI HAN-AKAT */
  {0x0E32 , L  }, /* THAI CHARACTER SARA AA */
  {0x0E33 , L  }, /* THAI CHARACTER SARA AM */
  {0x0E34 , NSM}, /* THAI CHARACTER SARA I */
  {0x0E35 , NSM}, /* THAI CHARACTER SARA II */
  {0x0E36 , NSM}, /* THAI CHARACTER SARA UE */
  {0x0E37 , NSM}, /* THAI CHARACTER SARA UEE */
  {0x0E38 , NSM}, /* THAI CHARACTER SARA U */
  {0x0E39 , NSM}, /* THAI CHARACTER SARA UU */
  {0x0E3A , NSM}, /* THAI CHARACTER PHINTHU */
  {0x0E3F , ET }, /* THAI CURRENCY SYMBOL BAHT */
  {0x0E40 , L  }, /* THAI CHARACTER SARA E */
  {0x0E41 , L  }, /* THAI CHARACTER SARA AE */
  {0x0E42 , L  }, /* THAI CHARACTER SARA O */
  {0x0E43 , L  }, /* THAI CHARACTER SARA AI MAIMUAN */
  {0x0E44 , L  }, /* THAI CHARACTER SARA AI MAIMALAI */
  {0x0E45 , L  }, /* THAI CHARACTER LAKKHANGYAO */
  {0x0E46 , L  }, /* THAI CHARACTER MAIYAMOK */
  {0x0E47 , NSM}, /* THAI CHARACTER MAITAIKHU */
  {0x0E48 , NSM}, /* THAI CHARACTER MAI EK */
  {0x0E49 , NSM}, /* THAI CHARACTER MAI THO */
  {0x0E4A , NSM}, /* THAI CHARACTER MAI TRI */
  {0x0E4B , NSM}, /* THAI CHARACTER MAI CHATTAWA */
  {0x0E4C , NSM}, /* THAI CHARACTER THANTHAKHAT */
  {0x0E4D , NSM}, /* THAI CHARACTER NIKHAHIT */
  {0x0E4E , NSM}, /* THAI CHARACTER YAMAKKAN */
  {0x0E4F , L  }, /* THAI CHARACTER FONGMAN */
  {0x0E50 , L  }, /* THAI DIGIT ZERO */
  {0x0E51 , L  }, /* THAI DIGIT ONE */
  {0x0E52 , L  }, /* THAI DIGIT TWO */
  {0x0E53 , L  }, /* THAI DIGIT THREE */
  {0x0E54 , L  }, /* THAI DIGIT FOUR */
  {0x0E55 , L  }, /* THAI DIGIT FIVE */
  {0x0E56 , L  }, /* THAI DIGIT SIX */
  {0x0E57 , L  }, /* THAI DIGIT SEVEN */
  {0x0E58 , L  }, /* THAI DIGIT EIGHT */
  {0x0E59 , L  }, /* THAI DIGIT NINE */
  {0x0E5A , L  }, /* THAI CHARACTER ANGKHANKHU */
  {0x0E5B , L  }, /* THAI CHARACTER KHOMUT */
  {0x0E81 , L  }, /* LAO LETTER KO */
  {0x0E82 , L  }, /* LAO LETTER KHO SUNG */
  {0x0E84 , L  }, /* LAO LETTER KHO TAM */
  {0x0E87 , L  }, /* LAO LETTER NGO */
  {0x0E88 , L  }, /* LAO LETTER CO */
  {0x0E8A , L  }, /* LAO LETTER SO TAM */
  {0x0E8D , L  }, /* LAO LETTER NYO */
  {0x0E94 , L  }, /* LAO LETTER DO */
  {0x0E95 , L  }, /* LAO LETTER TO */
  {0x0E96 , L  }, /* LAO LETTER THO SUNG */
  {0x0E97 , L  }, /* LAO LETTER THO TAM */
  {0x0E99 , L  }, /* LAO LETTER NO */
  {0x0E9A , L  }, /* LAO LETTER BO */
  {0x0E9B , L  }, /* LAO LETTER PO */
  {0x0E9C , L  }, /* LAO LETTER PHO SUNG */
  {0x0E9D , L  }, /* LAO LETTER FO TAM */
  {0x0E9E , L  }, /* LAO LETTER PHO TAM */
  {0x0E9F , L  }, /* LAO LETTER FO SUNG */
  {0x0EA1 , L  }, /* LAO LETTER MO */
  {0x0EA2 , L  }, /* LAO LETTER YO */
  {0x0EA3 , L  }, /* LAO LETTER LO LING */
  {0x0EA5 , L  }, /* LAO LETTER LO LOOT */
  {0x0EA7 , L  }, /* LAO LETTER WO */
  {0x0EAA , L  }, /* LAO LETTER SO SUNG */
  {0x0EAB , L  }, /* LAO LETTER HO SUNG */
  {0x0EAD , L  }, /* LAO LETTER O */
  {0x0EAE , L  }, /* LAO LETTER HO TAM */
  {0x0EAF , L  }, /* LAO ELLIPSIS */
  {0x0EB0 , L  }, /* LAO VOWEL SIGN A */
  {0x0EB1 , NSM}, /* LAO VOWEL SIGN MAI KAN */
  {0x0EB2 , L  }, /* LAO VOWEL SIGN AA */
  {0x0EB3 , L  }, /* LAO VOWEL SIGN AM */
  {0x0EB4 , NSM}, /* LAO VOWEL SIGN I */
  {0x0EB5 , NSM}, /* LAO VOWEL SIGN II */
  {0x0EB6 , NSM}, /* LAO VOWEL SIGN Y */
  {0x0EB7 , NSM}, /* LAO VOWEL SIGN YY */
  {0x0EB8 , NSM}, /* LAO VOWEL SIGN U */
  {0x0EB9 , NSM}, /* LAO VOWEL SIGN UU */
  {0x0EBB , NSM}, /* LAO VOWEL SIGN MAI KON */
  {0x0EBC , NSM}, /* LAO SEMIVOWEL SIGN LO */
  {0x0EBD , L  }, /* LAO SEMIVOWEL SIGN NYO */
  {0x0EC0 , L  }, /* LAO VOWEL SIGN E */
  {0x0EC1 , L  }, /* LAO VOWEL SIGN EI */
  {0x0EC2 , L  }, /* LAO VOWEL SIGN O */
  {0x0EC3 , L  }, /* LAO VOWEL SIGN AY */
  {0x0EC4 , L  }, /* LAO VOWEL SIGN AI */
  {0x0EC6 , L  }, /* LAO KO LA */
  {0x0EC8 , NSM}, /* LAO TONE MAI EK */
  {0x0EC9 , NSM}, /* LAO TONE MAI THO */
  {0x0ECA , NSM}, /* LAO TONE MAI TI */
  {0x0ECB , NSM}, /* LAO TONE MAI CATAWA */
  {0x0ECC , NSM}, /* LAO CANCELLATION MARK */
  {0x0ECD , NSM}, /* LAO NIGGAHITA */
  {0x0ED0 , L  }, /* LAO DIGIT ZERO */
  {0x0ED1 , L  }, /* LAO DIGIT ONE */
  {0x0ED2 , L  }, /* LAO DIGIT TWO */
  {0x0ED3 , L  }, /* LAO DIGIT THREE */
  {0x0ED4 , L  }, /* LAO DIGIT FOUR */
  {0x0ED5 , L  }, /* LAO DIGIT FIVE */
  {0x0ED6 , L  }, /* LAO DIGIT SIX */
  {0x0ED7 , L  }, /* LAO DIGIT SEVEN */
  {0x0ED8 , L  }, /* LAO DIGIT EIGHT */
  {0x0ED9 , L  }, /* LAO DIGIT NINE */
  {0x0EDC , L  }, /* LAO HO NO */
  {0x0EDD , L  }, /* LAO HO MO */
  {0x0F00 , L  }, /* TIBETAN SYLLABLE OM */
  {0x0F01 , L  }, /* TIBETAN MARK GTER YIG MGO TRUNCATED A */
  {0x0F02 , L  }, /* TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA */
  {0x0F03 , L  }, /* TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA */
  {0x0F04 , L  }, /* TIBETAN MARK INITIAL YIG MGO MDUN MA */
  {0x0F05 , L  }, /* TIBETAN MARK CLOSING YIG MGO SGAB MA */
  {0x0F06 , L  }, /* TIBETAN MARK CARET YIG MGO PHUR SHAD MA */
  {0x0F07 , L  }, /* TIBETAN MARK YIG MGO TSHEG SHAD MA */
  {0x0F08 , L  }, /* TIBETAN MARK SBRUL SHAD */
  {0x0F09 , L  }, /* TIBETAN MARK BSKUR YIG MGO */
  {0x0F0A , L  }, /* TIBETAN MARK BKA- SHOG YIG MGO */
  {0x0F0B , L  }, /* TIBETAN MARK INTERSYLLABIC TSHEG */
  {0x0F0C , L  }, /* TIBETAN MARK DELIMITER TSHEG BSTAR */
  {0x0F0D , L  }, /* TIBETAN MARK SHAD */
  {0x0F0E , L  }, /* TIBETAN MARK NYIS SHAD */
  {0x0F0F , L  }, /* TIBETAN MARK TSHEG SHAD */
  {0x0F10 , L  }, /* TIBETAN MARK NYIS TSHEG SHAD */
  {0x0F11 , L  }, /* TIBETAN MARK RIN CHEN SPUNGS SHAD */
  {0x0F12 , L  }, /* TIBETAN MARK RGYA GRAM SHAD */
  {0x0F13 , L  }, /* TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN */
  {0x0F14 , L  }, /* TIBETAN MARK GTER TSHEG */
  {0x0F15 , L  }, /* TIBETAN LOGOTYPE SIGN CHAD RTAGS */
  {0x0F16 , L  }, /* TIBETAN LOGOTYPE SIGN LHAG RTAGS */
  {0x0F17 , L  }, /* TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS */
  {0x0F18 , NSM}, /* TIBETAN ASTROLOGICAL SIGN -KHYUD PA */
  {0x0F19 , NSM}, /* TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS */
  {0x0F1A , L  }, /* TIBETAN SIGN RDEL DKAR GCIG */
  {0x0F1B , L  }, /* TIBETAN SIGN RDEL DKAR GNYIS */
  {0x0F1C , L  }, /* TIBETAN SIGN RDEL DKAR GSUM */
  {0x0F1D , L  }, /* TIBETAN SIGN RDEL NAG GCIG */
  {0x0F1E , L  }, /* TIBETAN SIGN RDEL NAG GNYIS */
  {0x0F1F , L  }, /* TIBETAN SIGN RDEL DKAR RDEL NAG */
  {0x0F20 , L  }, /* TIBETAN DIGIT ZERO */
  {0x0F21 , L  }, /* TIBETAN DIGIT ONE */
  {0x0F22 , L  }, /* TIBETAN DIGIT TWO */
  {0x0F23 , L  }, /* TIBETAN DIGIT THREE */
  {0x0F24 , L  }, /* TIBETAN DIGIT FOUR */
  {0x0F25 , L  }, /* TIBETAN DIGIT FIVE */
  {0x0F26 , L  }, /* TIBETAN DIGIT SIX */
  {0x0F27 , L  }, /* TIBETAN DIGIT SEVEN */
  {0x0F28 , L  }, /* TIBETAN DIGIT EIGHT */
  {0x0F29 , L  }, /* TIBETAN DIGIT NINE */
  {0x0F2A , L  }, /* TIBETAN DIGIT HALF ONE */
  {0x0F2B , L  }, /* TIBETAN DIGIT HALF TWO */
  {0x0F2C , L  }, /* TIBETAN DIGIT HALF THREE */
  {0x0F2D , L  }, /* TIBETAN DIGIT HALF FOUR */
  {0x0F2E , L  }, /* TIBETAN DIGIT HALF FIVE */
  {0x0F2F , L  }, /* TIBETAN DIGIT HALF SIX */
  {0x0F30 , L  }, /* TIBETAN DIGIT HALF SEVEN */
  {0x0F31 , L  }, /* TIBETAN DIGIT HALF EIGHT */
  {0x0F32 , L  }, /* TIBETAN DIGIT HALF NINE */
  {0x0F33 , L  }, /* TIBETAN DIGIT HALF ZERO */
  {0x0F34 , L  }, /* TIBETAN MARK BSDUS RTAGS */
  {0x0F35 , NSM}, /* TIBETAN MARK NGAS BZUNG NYI ZLA */
  {0x0F36 , L  }, /* TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN */
  {0x0F37 , NSM}, /* TIBETAN MARK NGAS BZUNG SGOR RTAGS */
  {0x0F38 , L  }, /* TIBETAN MARK CHE MGO */
  {0x0F39 , NSM}, /* TIBETAN MARK TSA -PHRU */
  {0x0F3A , ON }, /* TIBETAN MARK GUG RTAGS GYON */
  {0x0F3B , ON }, /* TIBETAN MARK GUG RTAGS GYAS */
  {0x0F3C , ON }, /* TIBETAN MARK ANG KHANG GYON */
  {0x0F3D , ON }, /* TIBETAN MARK ANG KHANG GYAS */
  {0x0F3E , L  }, /* TIBETAN SIGN YAR TSHES */
  {0x0F3F , L  }, /* TIBETAN SIGN MAR TSHES */
  {0x0F40 , L  }, /* TIBETAN LETTER KA */
  {0x0F41 , L  }, /* TIBETAN LETTER KHA */
  {0x0F42 , L  }, /* TIBETAN LETTER GA */
  {0x0F43 , L  }, /* TIBETAN LETTER GHA */
  {0x0F44 , L  }, /* TIBETAN LETTER NGA */
  {0x0F45 , L  }, /* TIBETAN LETTER CA */
  {0x0F46 , L  }, /* TIBETAN LETTER CHA */
  {0x0F47 , L  }, /* TIBETAN LETTER JA */
  {0x0F49 , L  }, /* TIBETAN LETTER NYA */
  {0x0F4A , L  }, /* TIBETAN LETTER TTA */
  {0x0F4B , L  }, /* TIBETAN LETTER TTHA */
  {0x0F4C , L  }, /* TIBETAN LETTER DDA */
  {0x0F4D , L  }, /* TIBETAN LETTER DDHA */
  {0x0F4E , L  }, /* TIBETAN LETTER NNA */
  {0x0F4F , L  }, /* TIBETAN LETTER TA */
  {0x0F50 , L  }, /* TIBETAN LETTER THA */
  {0x0F51 , L  }, /* TIBETAN LETTER DA */
  {0x0F52 , L  }, /* TIBETAN LETTER DHA */
  {0x0F53 , L  }, /* TIBETAN LETTER NA */
  {0x0F54 , L  }, /* TIBETAN LETTER PA */
  {0x0F55 , L  }, /* TIBETAN LETTER PHA */
  {0x0F56 , L  }, /* TIBETAN LETTER BA */
  {0x0F57 , L  }, /* TIBETAN LETTER BHA */
  {0x0F58 , L  }, /* TIBETAN LETTER MA */
  {0x0F59 , L  }, /* TIBETAN LETTER TSA */
  {0x0F5A , L  }, /* TIBETAN LETTER TSHA */
  {0x0F5B , L  }, /* TIBETAN LETTER DZA */
  {0x0F5C , L  }, /* TIBETAN LETTER DZHA */
  {0x0F5D , L  }, /* TIBETAN LETTER WA */
  {0x0F5E , L  }, /* TIBETAN LETTER ZHA */
  {0x0F5F , L  }, /* TIBETAN LETTER ZA */
  {0x0F60 , L  }, /* TIBETAN LETTER -A */
  {0x0F61 , L  }, /* TIBETAN LETTER YA */
  {0x0F62 , L  }, /* TIBETAN LETTER RA */
  {0x0F63 , L  }, /* TIBETAN LETTER LA */
  {0x0F64 , L  }, /* TIBETAN LETTER SHA */
  {0x0F65 , L  }, /* TIBETAN LETTER SSA */
  {0x0F66 , L  }, /* TIBETAN LETTER SA */
  {0x0F67 , L  }, /* TIBETAN LETTER HA */
  {0x0F68 , L  }, /* TIBETAN LETTER A */
  {0x0F69 , L  }, /* TIBETAN LETTER KSSA */
  {0x0F6A , L  }, /* TIBETAN LETTER FIXED-FORM RA */
  {0x0F71 , NSM}, /* TIBETAN VOWEL SIGN AA */
  {0x0F72 , NSM}, /* TIBETAN VOWEL SIGN I */
  {0x0F73 , NSM}, /* TIBETAN VOWEL SIGN II */
  {0x0F74 , NSM}, /* TIBETAN VOWEL SIGN U */
  {0x0F75 , NSM}, /* TIBETAN VOWEL SIGN UU */
  {0x0F76 , NSM}, /* TIBETAN VOWEL SIGN VOCALIC R */
  {0x0F77 , NSM}, /* TIBETAN VOWEL SIGN VOCALIC RR */
  {0x0F78 , NSM}, /* TIBETAN VOWEL SIGN VOCALIC L */
  {0x0F79 , NSM}, /* TIBETAN VOWEL SIGN VOCALIC LL */
  {0x0F7A , NSM}, /* TIBETAN VOWEL SIGN E */
  {0x0F7B , NSM}, /* TIBETAN VOWEL SIGN EE */
  {0x0F7C , NSM}, /* TIBETAN VOWEL SIGN O */
  {0x0F7D , NSM}, /* TIBETAN VOWEL SIGN OO */
  {0x0F7E , NSM}, /* TIBETAN SIGN RJES SU NGA RO */
  {0x0F7F , L  }, /* TIBETAN SIGN RNAM BCAD */
  {0x0F80 , NSM}, /* TIBETAN VOWEL SIGN REVERSED I */
  {0x0F81 , NSM}, /* TIBETAN VOWEL SIGN REVERSED II */
  {0x0F82 , NSM}, /* TIBETAN SIGN NYI ZLA NAA DA */
  {0x0F83 , NSM}, /* TIBETAN SIGN SNA LDAN */
  {0x0F84 , NSM}, /* TIBETAN MARK HALANTA */
  {0x0F85 , L  }, /* TIBETAN MARK PALUTA */
  {0x0F86 , NSM}, /* TIBETAN SIGN LCI RTAGS */
  {0x0F87 , NSM}, /* TIBETAN SIGN YANG RTAGS */
  {0x0F88 , L  }, /* TIBETAN SIGN LCE TSA CAN */
  {0x0F89 , L  }, /* TIBETAN SIGN MCHU CAN */
  {0x0F8A , L  }, /* TIBETAN SIGN GRU CAN RGYINGS */
  {0x0F8B , L  }, /* TIBETAN SIGN GRU MED RGYINGS */
  {0x0F90 , NSM}, /* TIBETAN SUBJOINED LETTER KA */
  {0x0F91 , NSM}, /* TIBETAN SUBJOINED LETTER KHA */
  {0x0F92 , NSM}, /* TIBETAN SUBJOINED LETTER GA */
  {0x0F93 , NSM}, /* TIBETAN SUBJOINED LETTER GHA */
  {0x0F94 , NSM}, /* TIBETAN SUBJOINED LETTER NGA */
  {0x0F95 , NSM}, /* TIBETAN SUBJOINED LETTER CA */
  {0x0F96 , NSM}, /* TIBETAN SUBJOINED LETTER CHA */
  {0x0F97 , NSM}, /* TIBETAN SUBJOINED LETTER JA */
  {0x0F99 , NSM}, /* TIBETAN SUBJOINED LETTER NYA */
  {0x0F9A , NSM}, /* TIBETAN SUBJOINED LETTER TTA */
  {0x0F9B , NSM}, /* TIBETAN SUBJOINED LETTER TTHA */
  {0x0F9C , NSM}, /* TIBETAN SUBJOINED LETTER DDA */
  {0x0F9D , NSM}, /* TIBETAN SUBJOINED LETTER DDHA */
  {0x0F9E , NSM}, /* TIBETAN SUBJOINED LETTER NNA */
  {0x0F9F , NSM}, /* TIBETAN SUBJOINED LETTER TA */
  {0x0FA0 , NSM}, /* TIBETAN SUBJOINED LETTER THA */
  {0x0FA1 , NSM}, /* TIBETAN SUBJOINED LETTER DA */
  {0x0FA2 , NSM}, /* TIBETAN SUBJOINED LETTER DHA */
  {0x0FA3 , NSM}, /* TIBETAN SUBJOINED LETTER NA */
  {0x0FA4 , NSM}, /* TIBETAN SUBJOINED LETTER PA */
  {0x0FA5 , NSM}, /* TIBETAN SUBJOINED LETTER PHA */
  {0x0FA6 , NSM}, /* TIBETAN SUBJOINED LETTER BA */
  {0x0FA7 , NSM}, /* TIBETAN SUBJOINED LETTER BHA */
  {0x0FA8 , NSM}, /* TIBETAN SUBJOINED LETTER MA */
  {0x0FA9 , NSM}, /* TIBETAN SUBJOINED LETTER TSA */
  {0x0FAA , NSM}, /* TIBETAN SUBJOINED LETTER TSHA */
  {0x0FAB , NSM}, /* TIBETAN SUBJOINED LETTER DZA */
  {0x0FAC , NSM}, /* TIBETAN SUBJOINED LETTER DZHA */
  {0x0FAD , NSM}, /* TIBETAN SUBJOINED LETTER WA */
  {0x0FAE , NSM}, /* TIBETAN SUBJOINED LETTER ZHA */
  {0x0FAF , NSM}, /* TIBETAN SUBJOINED LETTER ZA */
  {0x0FB0 , NSM}, /* TIBETAN SUBJOINED LETTER -A */
  {0x0FB1 , NSM}, /* TIBETAN SUBJOINED LETTER YA */
  {0x0FB2 , NSM}, /* TIBETAN SUBJOINED LETTER RA */
  {0x0FB3 , NSM}, /* TIBETAN SUBJOINED LETTER LA */
  {0x0FB4 , NSM}, /* TIBETAN SUBJOINED LETTER SHA */
  {0x0FB5 , NSM}, /* TIBETAN SUBJOINED LETTER SSA */
  {0x0FB6 , NSM}, /* TIBETAN SUBJOINED LETTER SA */
  {0x0FB7 , NSM}, /* TIBETAN SUBJOINED LETTER HA */
  {0x0FB8 , NSM}, /* TIBETAN SUBJOINED LETTER A */
  {0x0FB9 , NSM}, /* TIBETAN SUBJOINED LETTER KSSA */
  {0x0FBA , NSM}, /* TIBETAN SUBJOINED LETTER FIXED-FORM WA */
  {0x0FBB , NSM}, /* TIBETAN SUBJOINED LETTER FIXED-FORM YA */
  {0x0FBC , NSM}, /* TIBETAN SUBJOINED LETTER FIXED-FORM RA */
  {0x0FBE , L  }, /* TIBETAN KU RU KHA */
  {0x0FBF , L  }, /* TIBETAN KU RU KHA BZHI MIG CAN */
  {0x0FC0 , L  }, /* TIBETAN CANTILLATION SIGN HEAVY BEAT */
  {0x0FC1 , L  }, /* TIBETAN CANTILLATION SIGN LIGHT BEAT */
  {0x0FC2 , L  }, /* TIBETAN CANTILLATION SIGN CANG TE-U */
  {0x0FC3 , L  }, /* TIBETAN CANTILLATION SIGN SBUB -CHAL */
  {0x0FC4 , L  }, /* TIBETAN SYMBOL DRIL BU */
  {0x0FC5 , L  }, /* TIBETAN SYMBOL RDO RJE */
  {0x0FC6 , NSM}, /* TIBETAN SYMBOL PADMA GDAN */
  {0x0FC7 , L  }, /* TIBETAN SYMBOL RDO RJE RGYA GRAM */
  {0x0FC8 , L  }, /* TIBETAN SYMBOL PHUR PA */
  {0x0FC9 , L  }, /* TIBETAN SYMBOL NOR BU */
  {0x0FCA , L  }, /* TIBETAN SYMBOL NOR BU NYIS -KHYIL */
  {0x0FCB , L  }, /* TIBETAN SYMBOL NOR BU GSUM -KHYIL */
  {0x0FCC , L  }, /* TIBETAN SYMBOL NOR BU BZHI -KHYIL */
  {0x0FCF , L  }, /* TIBETAN SIGN RDEL NAG GSUM */
  {0x0FD0 , L  }, /* TIBETAN MARK BSKA- SHOG GI MGO RGYAN */
  {0x0FD1 , L  }, /* TIBETAN MARK MNYAM YIG GI MGO RGYAN */
  {0x1000 , L  }, /* MYANMAR LETTER KA */
  {0x1001 , L  }, /* MYANMAR LETTER KHA */
  {0x1002 , L  }, /* MYANMAR LETTER GA */
  {0x1003 , L  }, /* MYANMAR LETTER GHA */
  {0x1004 , L  }, /* MYANMAR LETTER NGA */
  {0x1005 , L  }, /* MYANMAR LETTER CA */
  {0x1006 , L  }, /* MYANMAR LETTER CHA */
  {0x1007 , L  }, /* MYANMAR LETTER JA */
  {0x1008 , L  }, /* MYANMAR LETTER JHA */
  {0x1009 , L  }, /* MYANMAR LETTER NYA */
  {0x100A , L  }, /* MYANMAR LETTER NNYA */
  {0x100B , L  }, /* MYANMAR LETTER TTA */
  {0x100C , L  }, /* MYANMAR LETTER TTHA */
  {0x100D , L  }, /* MYANMAR LETTER DDA */
  {0x100E , L  }, /* MYANMAR LETTER DDHA */
  {0x100F , L  }, /* MYANMAR LETTER NNA */
  {0x1010 , L  }, /* MYANMAR LETTER TA */
  {0x1011 , L  }, /* MYANMAR LETTER THA */
  {0x1012 , L  }, /* MYANMAR LETTER DA */
  {0x1013 , L  }, /* MYANMAR LETTER DHA */
  {0x1014 , L  }, /* MYANMAR LETTER NA */
  {0x1015 , L  }, /* MYANMAR LETTER PA */
  {0x1016 , L  }, /* MYANMAR LETTER PHA */
  {0x1017 , L  }, /* MYANMAR LETTER BA */
  {0x1018 , L  }, /* MYANMAR LETTER BHA */
  {0x1019 , L  }, /* MYANMAR LETTER MA */
  {0x101A , L  }, /* MYANMAR LETTER YA */
  {0x101B , L  }, /* MYANMAR LETTER RA */
  {0x101C , L  }, /* MYANMAR LETTER LA */
  {0x101D , L  }, /* MYANMAR LETTER WA */
  {0x101E , L  }, /* MYANMAR LETTER SA */
  {0x101F , L  }, /* MYANMAR LETTER HA */
  {0x1020 , L  }, /* MYANMAR LETTER LLA */
  {0x1021 , L  }, /* MYANMAR LETTER A */
  {0x1023 , L  }, /* MYANMAR LETTER I */
  {0x1024 , L  }, /* MYANMAR LETTER II */
  {0x1025 , L  }, /* MYANMAR LETTER U */
  {0x1026 , L  }, /* MYANMAR LETTER UU */
  {0x1027 , L  }, /* MYANMAR LETTER E */
  {0x1029 , L  }, /* MYANMAR LETTER O */
  {0x102A , L  }, /* MYANMAR LETTER AU */
  {0x102C , L  }, /* MYANMAR VOWEL SIGN AA */
  {0x102D , NSM}, /* MYANMAR VOWEL SIGN I */
  {0x102E , NSM}, /* MYANMAR VOWEL SIGN II */
  {0x102F , NSM}, /* MYANMAR VOWEL SIGN U */
  {0x1030 , NSM}, /* MYANMAR VOWEL SIGN UU */
  {0x1031 , L  }, /* MYANMAR VOWEL SIGN E */
  {0x1032 , NSM}, /* MYANMAR VOWEL SIGN AI */
  {0x1036 , NSM}, /* MYANMAR SIGN ANUSVARA */
  {0x1037 , NSM}, /* MYANMAR SIGN DOT BELOW */
  {0x1038 , L  }, /* MYANMAR SIGN VISARGA */
  {0x1039 , NSM}, /* MYANMAR SIGN VIRAMA */
  {0x1040 , L  }, /* MYANMAR DIGIT ZERO */
  {0x1041 , L  }, /* MYANMAR DIGIT ONE */
  {0x1042 , L  }, /* MYANMAR DIGIT TWO */
  {0x1043 , L  }, /* MYANMAR DIGIT THREE */
  {0x1044 , L  }, /* MYANMAR DIGIT FOUR */
  {0x1045 , L  }, /* MYANMAR DIGIT FIVE */
  {0x1046 , L  }, /* MYANMAR DIGIT SIX */
  {0x1047 , L  }, /* MYANMAR DIGIT SEVEN */
  {0x1048 , L  }, /* MYANMAR DIGIT EIGHT */
  {0x1049 , L  }, /* MYANMAR DIGIT NINE */
  {0x104A , L  }, /* MYANMAR SIGN LITTLE SECTION */
  {0x104B , L  }, /* MYANMAR SIGN SECTION */
  {0x104C , L  }, /* MYANMAR SYMBOL LOCATIVE */
  {0x104D , L  }, /* MYANMAR SYMBOL COMPLETED */
  {0x104E , L  }, /* MYANMAR SYMBOL AFOREMENTIONED */
  {0x104F , L  }, /* MYANMAR SYMBOL GENITIVE */
  {0x1050 , L  }, /* MYANMAR LETTER SHA */
  {0x1051 , L  }, /* MYANMAR LETTER SSA */
  {0x1052 , L  }, /* MYANMAR LETTER VOCALIC R */
  {0x1053 , L  }, /* MYANMAR LETTER VOCALIC RR */
  {0x1054 , L  }, /* MYANMAR LETTER VOCALIC L */
  {0x1055 , L  }, /* MYANMAR LETTER VOCALIC LL */
  {0x1056 , L  }, /* MYANMAR VOWEL SIGN VOCALIC R */
  {0x1057 , L  }, /* MYANMAR VOWEL SIGN VOCALIC RR */
  {0x1058 , NSM}, /* MYANMAR VOWEL SIGN VOCALIC L */
  {0x1059 , NSM}, /* MYANMAR VOWEL SIGN VOCALIC LL */
  {0x10A0 , L  }, /* GEORGIAN CAPITAL LETTER AN */
  {0x10A1 , L  }, /* GEORGIAN CAPITAL LETTER BAN */
  {0x10A2 , L  }, /* GEORGIAN CAPITAL LETTER GAN */
  {0x10A3 , L  }, /* GEORGIAN CAPITAL LETTER DON */
  {0x10A4 , L  }, /* GEORGIAN CAPITAL LETTER EN */
  {0x10A5 , L  }, /* GEORGIAN CAPITAL LETTER VIN */
  {0x10A6 , L  }, /* GEORGIAN CAPITAL LETTER ZEN */
  {0x10A7 , L  }, /* GEORGIAN CAPITAL LETTER TAN */
  {0x10A8 , L  }, /* GEORGIAN CAPITAL LETTER IN */
  {0x10A9 , L  }, /* GEORGIAN CAPITAL LETTER KAN */
  {0x10AA , L  }, /* GEORGIAN CAPITAL LETTER LAS */
  {0x10AB , L  }, /* GEORGIAN CAPITAL LETTER MAN */
  {0x10AC , L  }, /* GEORGIAN CAPITAL LETTER NAR */
  {0x10AD , L  }, /* GEORGIAN CAPITAL LETTER ON */
  {0x10AE , L  }, /* GEORGIAN CAPITAL LETTER PAR */
  {0x10AF , L  }, /* GEORGIAN CAPITAL LETTER ZHAR */
  {0x10B0 , L  }, /* GEORGIAN CAPITAL LETTER RAE */
  {0x10B1 , L  }, /* GEORGIAN CAPITAL LETTER SAN */
  {0x10B2 , L  }, /* GEORGIAN CAPITAL LETTER TAR */
  {0x10B3 , L  }, /* GEORGIAN CAPITAL LETTER UN */
  {0x10B4 , L  }, /* GEORGIAN CAPITAL LETTER PHAR */
  {0x10B5 , L  }, /* GEORGIAN CAPITAL LETTER KHAR */
  {0x10B6 , L  }, /* GEORGIAN CAPITAL LETTER GHAN */
  {0x10B7 , L  }, /* GEORGIAN CAPITAL LETTER QAR */
  {0x10B8 , L  }, /* GEORGIAN CAPITAL LETTER SHIN */
  {0x10B9 , L  }, /* GEORGIAN CAPITAL LETTER CHIN */
  {0x10BA , L  }, /* GEORGIAN CAPITAL LETTER CAN */
  {0x10BB , L  }, /* GEORGIAN CAPITAL LETTER JIL */
  {0x10BC , L  }, /* GEORGIAN CAPITAL LETTER CIL */
  {0x10BD , L  }, /* GEORGIAN CAPITAL LETTER CHAR */
  {0x10BE , L  }, /* GEORGIAN CAPITAL LETTER XAN */
  {0x10BF , L  }, /* GEORGIAN CAPITAL LETTER JHAN */
  {0x10C0 , L  }, /* GEORGIAN CAPITAL LETTER HAE */
  {0x10C1 , L  }, /* GEORGIAN CAPITAL LETTER HE */
  {0x10C2 , L  }, /* GEORGIAN CAPITAL LETTER HIE */
  {0x10C3 , L  }, /* GEORGIAN CAPITAL LETTER WE */
  {0x10C4 , L  }, /* GEORGIAN CAPITAL LETTER HAR */
  {0x10C5 , L  }, /* GEORGIAN CAPITAL LETTER HOE */
  {0x10D0 , L  }, /* GEORGIAN LETTER AN */
  {0x10D1 , L  }, /* GEORGIAN LETTER BAN */
  {0x10D2 , L  }, /* GEORGIAN LETTER GAN */
  {0x10D3 , L  }, /* GEORGIAN LETTER DON */
  {0x10D4 , L  }, /* GEORGIAN LETTER EN */
  {0x10D5 , L  }, /* GEORGIAN LETTER VIN */
  {0x10D6 , L  }, /* GEORGIAN LETTER ZEN */
  {0x10D7 , L  }, /* GEORGIAN LETTER TAN */
  {0x10D8 , L  }, /* GEORGIAN LETTER IN */
  {0x10D9 , L  }, /* GEORGIAN LETTER KAN */
  {0x10DA , L  }, /* GEORGIAN LETTER LAS */
  {0x10DB , L  }, /* GEORGIAN LETTER MAN */
  {0x10DC , L  }, /* GEORGIAN LETTER NAR */
  {0x10DD , L  }, /* GEORGIAN LETTER ON */
  {0x10DE , L  }, /* GEORGIAN LETTER PAR */
  {0x10DF , L  }, /* GEORGIAN LETTER ZHAR */
  {0x10E0 , L  }, /* GEORGIAN LETTER RAE */
  {0x10E1 , L  }, /* GEORGIAN LETTER SAN */
  {0x10E2 , L  }, /* GEORGIAN LETTER TAR */
  {0x10E3 , L  }, /* GEORGIAN LETTER UN */
  {0x10E4 , L  }, /* GEORGIAN LETTER PHAR */
  {0x10E5 , L  }, /* GEORGIAN LETTER KHAR */
  {0x10E6 , L  }, /* GEORGIAN LETTER GHAN */
  {0x10E7 , L  }, /* GEORGIAN LETTER QAR */
  {0x10E8 , L  }, /* GEORGIAN LETTER SHIN */
  {0x10E9 , L  }, /* GEORGIAN LETTER CHIN */
  {0x10EA , L  }, /* GEORGIAN LETTER CAN */
  {0x10EB , L  }, /* GEORGIAN LETTER JIL */
  {0x10EC , L  }, /* GEORGIAN LETTER CIL */
  {0x10ED , L  }, /* GEORGIAN LETTER CHAR */
  {0x10EE , L  }, /* GEORGIAN LETTER XAN */
  {0x10EF , L  }, /* GEORGIAN LETTER JHAN */
  {0x10F0 , L  }, /* GEORGIAN LETTER HAE */
  {0x10F1 , L  }, /* GEORGIAN LETTER HE */
  {0x10F2 , L  }, /* GEORGIAN LETTER HIE */
  {0x10F3 , L  }, /* GEORGIAN LETTER WE */
  {0x10F4 , L  }, /* GEORGIAN LETTER HAR */
  {0x10F5 , L  }, /* GEORGIAN LETTER HOE */
  {0x10F6 , L  }, /* GEORGIAN LETTER FI */
  {0x10F7 , L  }, /* GEORGIAN LETTER YN */
  {0x10F8 , L  }, /* GEORGIAN LETTER ELIFI */
  {0x10F9 , L  }, /* GEORGIAN LETTER TURNED GAN */
  {0x10FA , L  }, /* GEORGIAN LETTER AIN */
  {0x10FB , L  }, /* GEORGIAN PARAGRAPH SEPARATOR */
  {0x10FC , L  }, /* MODIFIER LETTER GEORGIAN NAR */
  {0x1100 , L  }, /* HANGUL CHOSEONG KIYEOK */
  {0x1101 , L  }, /* HANGUL CHOSEONG SSANGKIYEOK */
  {0x1102 , L  }, /* HANGUL CHOSEONG NIEUN */
  {0x1103 , L  }, /* HANGUL CHOSEONG TIKEUT */
  {0x1104 , L  }, /* HANGUL CHOSEONG SSANGTIKEUT */
  {0x1105 , L  }, /* HANGUL CHOSEONG RIEUL */
  {0x1106 , L  }, /* HANGUL CHOSEONG MIEUM */
  {0x1107 , L  }, /* HANGUL CHOSEONG PIEUP */
  {0x1108 , L  }, /* HANGUL CHOSEONG SSANGPIEUP */
  {0x1109 , L  }, /* HANGUL CHOSEONG SIOS */
  {0x110A , L  }, /* HANGUL CHOSEONG SSANGSIOS */
  {0x110B , L  }, /* HANGUL CHOSEONG IEUNG */
  {0x110C , L  }, /* HANGUL CHOSEONG CIEUC */
  {0x110D , L  }, /* HANGUL CHOSEONG SSANGCIEUC */
  {0x110E , L  }, /* HANGUL CHOSEONG CHIEUCH */
  {0x110F , L  }, /* HANGUL CHOSEONG KHIEUKH */
  {0x1110 , L  }, /* HANGUL CHOSEONG THIEUTH */
  {0x1111 , L  }, /* HANGUL CHOSEONG PHIEUPH */
  {0x1112 , L  }, /* HANGUL CHOSEONG HIEUH */
  {0x1113 , L  }, /* HANGUL CHOSEONG NIEUN-KIYEOK */
  {0x1114 , L  }, /* HANGUL CHOSEONG SSANGNIEUN */
  {0x1115 , L  }, /* HANGUL CHOSEONG NIEUN-TIKEUT */
  {0x1116 , L  }, /* HANGUL CHOSEONG NIEUN-PIEUP */
  {0x1117 , L  }, /* HANGUL CHOSEONG TIKEUT-KIYEOK */
  {0x1118 , L  }, /* HANGUL CHOSEONG RIEUL-NIEUN */
  {0x1119 , L  }, /* HANGUL CHOSEONG SSANGRIEUL */
  {0x111A , L  }, /* HANGUL CHOSEONG RIEUL-HIEUH */
  {0x111B , L  }, /* HANGUL CHOSEONG KAPYEOUNRIEUL */
  {0x111C , L  }, /* HANGUL CHOSEONG MIEUM-PIEUP */
  {0x111D , L  }, /* HANGUL CHOSEONG KAPYEOUNMIEUM */
  {0x111E , L  }, /* HANGUL CHOSEONG PIEUP-KIYEOK */
  {0x111F , L  }, /* HANGUL CHOSEONG PIEUP-NIEUN */
  {0x1120 , L  }, /* HANGUL CHOSEONG PIEUP-TIKEUT */
  {0x1121 , L  }, /* HANGUL CHOSEONG PIEUP-SIOS */
  {0x1122 , L  }, /* HANGUL CHOSEONG PIEUP-SIOS-KIYEOK */
  {0x1123 , L  }, /* HANGUL CHOSEONG PIEUP-SIOS-TIKEUT */
  {0x1124 , L  }, /* HANGUL CHOSEONG PIEUP-SIOS-PIEUP */
  {0x1125 , L  }, /* HANGUL CHOSEONG PIEUP-SSANGSIOS */
  {0x1126 , L  }, /* HANGUL CHOSEONG PIEUP-SIOS-CIEUC */
  {0x1127 , L  }, /* HANGUL CHOSEONG PIEUP-CIEUC */
  {0x1128 , L  }, /* HANGUL CHOSEONG PIEUP-CHIEUCH */
  {0x1129 , L  }, /* HANGUL CHOSEONG PIEUP-THIEUTH */
  {0x112A , L  }, /* HANGUL CHOSEONG PIEUP-PHIEUPH */
  {0x112B , L  }, /* HANGUL CHOSEONG KAPYEOUNPIEUP */
  {0x112C , L  }, /* HANGUL CHOSEONG KAPYEOUNSSANGPIEUP */
  {0x112D , L  }, /* HANGUL CHOSEONG SIOS-KIYEOK */
  {0x112E , L  }, /* HANGUL CHOSEONG SIOS-NIEUN */
  {0x112F , L  }, /* HANGUL CHOSEONG SIOS-TIKEUT */
  {0x1130 , L  }, /* HANGUL CHOSEONG SIOS-RIEUL */
  {0x1131 , L  }, /* HANGUL CHOSEONG SIOS-MIEUM */
  {0x1132 , L  }, /* HANGUL CHOSEONG SIOS-PIEUP */
  {0x1133 , L  }, /* HANGUL CHOSEONG SIOS-PIEUP-KIYEOK */
  {0x1134 , L  }, /* HANGUL CHOSEONG SIOS-SSANGSIOS */
  {0x1135 , L  }, /* HANGUL CHOSEONG SIOS-IEUNG */
  {0x1136 , L  }, /* HANGUL CHOSEONG SIOS-CIEUC */
  {0x1137 , L  }, /* HANGUL CHOSEONG SIOS-CHIEUCH */
  {0x1138 , L  }, /* HANGUL CHOSEONG SIOS-KHIEUKH */
  {0x1139 , L  }, /* HANGUL CHOSEONG SIOS-THIEUTH */
  {0x113A , L  }, /* HANGUL CHOSEONG SIOS-PHIEUPH */
  {0x113B , L  }, /* HANGUL CHOSEONG SIOS-HIEUH */
  {0x113C , L  }, /* HANGUL CHOSEONG CHITUEUMSIOS */
  {0x113D , L  }, /* HANGUL CHOSEONG CHITUEUMSSANGSIOS */
  {0x113E , L  }, /* HANGUL CHOSEONG CEONGCHIEUMSIOS */
  {0x113F , L  }, /* HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS */
  {0x1140 , L  }, /* HANGUL CHOSEONG PANSIOS */
  {0x1141 , L  }, /* HANGUL CHOSEONG IEUNG-KIYEOK */
  {0x1142 , L  }, /* HANGUL CHOSEONG IEUNG-TIKEUT */
  {0x1143 , L  }, /* HANGUL CHOSEONG IEUNG-MIEUM */
  {0x1144 , L  }, /* HANGUL CHOSEONG IEUNG-PIEUP */
  {0x1145 , L  }, /* HANGUL CHOSEONG IEUNG-SIOS */
  {0x1146 , L  }, /* HANGUL CHOSEONG IEUNG-PANSIOS */
  {0x1147 , L  }, /* HANGUL CHOSEONG SSANGIEUNG */
  {0x1148 , L  }, /* HANGUL CHOSEONG IEUNG-CIEUC */
  {0x1149 , L  }, /* HANGUL CHOSEONG IEUNG-CHIEUCH */
  {0x114A , L  }, /* HANGUL CHOSEONG IEUNG-THIEUTH */
  {0x114B , L  }, /* HANGUL CHOSEONG IEUNG-PHIEUPH */
  {0x114C , L  }, /* HANGUL CHOSEONG YESIEUNG */
  {0x114D , L  }, /* HANGUL CHOSEONG CIEUC-IEUNG */
  {0x114E , L  }, /* HANGUL CHOSEONG CHITUEUMCIEUC */
  {0x114F , L  }, /* HANGUL CHOSEONG CHITUEUMSSANGCIEUC */
  {0x1150 , L  }, /* HANGUL CHOSEONG CEONGCHIEUMCIEUC */
  {0x1151 , L  }, /* HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC */
  {0x1152 , L  }, /* HANGUL CHOSEONG CHIEUCH-KHIEUKH */
  {0x1153 , L  }, /* HANGUL CHOSEONG CHIEUCH-HIEUH */
  {0x1154 , L  }, /* HANGUL CHOSEONG CHITUEUMCHIEUCH */
  {0x1155 , L  }, /* HANGUL CHOSEONG CEONGCHIEUMCHIEUCH */
  {0x1156 , L  }, /* HANGUL CHOSEONG PHIEUPH-PIEUP */
  {0x1157 , L  }, /* HANGUL CHOSEONG KAPYEOUNPHIEUPH */
  {0x1158 , L  }, /* HANGUL CHOSEONG SSANGHIEUH */
  {0x1159 , L  }, /* HANGUL CHOSEONG YEORINHIEUH */
  {0x115F , L  }, /* HANGUL CHOSEONG FILLER */
  {0x1160 , L  }, /* HANGUL JUNGSEONG FILLER */
  {0x1161 , L  }, /* HANGUL JUNGSEONG A */
  {0x1162 , L  }, /* HANGUL JUNGSEONG AE */
  {0x1163 , L  }, /* HANGUL JUNGSEONG YA */
  {0x1164 , L  }, /* HANGUL JUNGSEONG YAE */
  {0x1165 , L  }, /* HANGUL JUNGSEONG EO */
  {0x1166 , L  }, /* HANGUL JUNGSEONG E */
  {0x1167 , L  }, /* HANGUL JUNGSEONG YEO */
  {0x1168 , L  }, /* HANGUL JUNGSEONG YE */
  {0x1169 , L  }, /* HANGUL JUNGSEONG O */
  {0x116A , L  }, /* HANGUL JUNGSEONG WA */
  {0x116B , L  }, /* HANGUL JUNGSEONG WAE */
  {0x116C , L  }, /* HANGUL JUNGSEONG OE */
  {0x116D , L  }, /* HANGUL JUNGSEONG YO */
  {0x116E , L  }, /* HANGUL JUNGSEONG U */
  {0x116F , L  }, /* HANGUL JUNGSEONG WEO */
  {0x1170 , L  }, /* HANGUL JUNGSEONG WE */
  {0x1171 , L  }, /* HANGUL JUNGSEONG WI */
  {0x1172 , L  }, /* HANGUL JUNGSEONG YU */
  {0x1173 , L  }, /* HANGUL JUNGSEONG EU */
  {0x1174 , L  }, /* HANGUL JUNGSEONG YI */
  {0x1175 , L  }, /* HANGUL JUNGSEONG I */
  {0x1176 , L  }, /* HANGUL JUNGSEONG A-O */
  {0x1177 , L  }, /* HANGUL JUNGSEONG A-U */
  {0x1178 , L  }, /* HANGUL JUNGSEONG YA-O */
  {0x1179 , L  }, /* HANGUL JUNGSEONG YA-YO */
  {0x117A , L  }, /* HANGUL JUNGSEONG EO-O */
  {0x117B , L  }, /* HANGUL JUNGSEONG EO-U */
  {0x117C , L  }, /* HANGUL JUNGSEONG EO-EU */
  {0x117D , L  }, /* HANGUL JUNGSEONG YEO-O */
  {0x117E , L  }, /* HANGUL JUNGSEONG YEO-U */
  {0x117F , L  }, /* HANGUL JUNGSEONG O-EO */
  {0x1180 , L  }, /* HANGUL JUNGSEONG O-E */
  {0x1181 , L  }, /* HANGUL JUNGSEONG O-YE */
  {0x1182 , L  }, /* HANGUL JUNGSEONG O-O */
  {0x1183 , L  }, /* HANGUL JUNGSEONG O-U */
  {0x1184 , L  }, /* HANGUL JUNGSEONG YO-YA */
  {0x1185 , L  }, /* HANGUL JUNGSEONG YO-YAE */
  {0x1186 , L  }, /* HANGUL JUNGSEONG YO-YEO */
  {0x1187 , L  }, /* HANGUL JUNGSEONG YO-O */
  {0x1188 , L  }, /* HANGUL JUNGSEONG YO-I */
  {0x1189 , L  }, /* HANGUL JUNGSEONG U-A */
  {0x118A , L  }, /* HANGUL JUNGSEONG U-AE */
  {0x118B , L  }, /* HANGUL JUNGSEONG U-EO-EU */
  {0x118C , L  }, /* HANGUL JUNGSEONG U-YE */
  {0x118D , L  }, /* HANGUL JUNGSEONG U-U */
  {0x118E , L  }, /* HANGUL JUNGSEONG YU-A */
  {0x118F , L  }, /* HANGUL JUNGSEONG YU-EO */
  {0x1190 , L  }, /* HANGUL JUNGSEONG YU-E */
  {0x1191 , L  }, /* HANGUL JUNGSEONG YU-YEO */
  {0x1192 , L  }, /* HANGUL JUNGSEONG YU-YE */
  {0x1193 , L  }, /* HANGUL JUNGSEONG YU-U */
  {0x1194 , L  }, /* HANGUL JUNGSEONG YU-I */
  {0x1195 , L  }, /* HANGUL JUNGSEONG EU-U */
  {0x1196 , L  }, /* HANGUL JUNGSEONG EU-EU */
  {0x1197 , L  }, /* HANGUL JUNGSEONG YI-U */
  {0x1198 , L  }, /* HANGUL JUNGSEONG I-A */
  {0x1199 , L  }, /* HANGUL JUNGSEONG I-YA */
  {0x119A , L  }, /* HANGUL JUNGSEONG I-O */
  {0x119B , L  }, /* HANGUL JUNGSEONG I-U */
  {0x119C , L  }, /* HANGUL JUNGSEONG I-EU */
  {0x119D , L  }, /* HANGUL JUNGSEONG I-ARAEA */
  {0x119E , L  }, /* HANGUL JUNGSEONG ARAEA */
  {0x119F , L  }, /* HANGUL JUNGSEONG ARAEA-EO */
  {0x11A0 , L  }, /* HANGUL JUNGSEONG ARAEA-U */
  {0x11A1 , L  }, /* HANGUL JUNGSEONG ARAEA-I */
  {0x11A2 , L  }, /* HANGUL JUNGSEONG SSANGARAEA */
  {0x11A8 , L  }, /* HANGUL JONGSEONG KIYEOK */
  {0x11A9 , L  }, /* HANGUL JONGSEONG SSANGKIYEOK */
  {0x11AA , L  }, /* HANGUL JONGSEONG KIYEOK-SIOS */
  {0x11AB , L  }, /* HANGUL JONGSEONG NIEUN */
  {0x11AC , L  }, /* HANGUL JONGSEONG NIEUN-CIEUC */
  {0x11AD , L  }, /* HANGUL JONGSEONG NIEUN-HIEUH */
  {0x11AE , L  }, /* HANGUL JONGSEONG TIKEUT */
  {0x11AF , L  }, /* HANGUL JONGSEONG RIEUL */
  {0x11B0 , L  }, /* HANGUL JONGSEONG RIEUL-KIYEOK */
  {0x11B1 , L  }, /* HANGUL JONGSEONG RIEUL-MIEUM */
  {0x11B2 , L  }, /* HANGUL JONGSEONG RIEUL-PIEUP */
  {0x11B3 , L  }, /* HANGUL JONGSEONG RIEUL-SIOS */
  {0x11B4 , L  }, /* HANGUL JONGSEONG RIEUL-THIEUTH */
  {0x11B5 , L  }, /* HANGUL JONGSEONG RIEUL-PHIEUPH */
  {0x11B6 , L  }, /* HANGUL JONGSEONG RIEUL-HIEUH */
  {0x11B7 , L  }, /* HANGUL JONGSEONG MIEUM */
  {0x11B8 , L  }, /* HANGUL JONGSEONG PIEUP */
  {0x11B9 , L  }, /* HANGUL JONGSEONG PIEUP-SIOS */
  {0x11BA , L  }, /* HANGUL JONGSEONG SIOS */
  {0x11BB , L  }, /* HANGUL JONGSEONG SSANGSIOS */
  {0x11BC , L  }, /* HANGUL JONGSEONG IEUNG */
  {0x11BD , L  }, /* HANGUL JONGSEONG CIEUC */
  {0x11BE , L  }, /* HANGUL JONGSEONG CHIEUCH */
  {0x11BF , L  }, /* HANGUL JONGSEONG KHIEUKH */
  {0x11C0 , L  }, /* HANGUL JONGSEONG THIEUTH */
  {0x11C1 , L  }, /* HANGUL JONGSEONG PHIEUPH */
  {0x11C2 , L  }, /* HANGUL JONGSEONG HIEUH */
  {0x11C3 , L  }, /* HANGUL JONGSEONG KIYEOK-RIEUL */
  {0x11C4 , L  }, /* HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK */
  {0x11C5 , L  }, /* HANGUL JONGSEONG NIEUN-KIYEOK */
  {0x11C6 , L  }, /* HANGUL JONGSEONG NIEUN-TIKEUT */
  {0x11C7 , L  }, /* HANGUL JONGSEONG NIEUN-SIOS */
  {0x11C8 , L  }, /* HANGUL JONGSEONG NIEUN-PANSIOS */
  {0x11C9 , L  }, /* HANGUL JONGSEONG NIEUN-THIEUTH */
  {0x11CA , L  }, /* HANGUL JONGSEONG TIKEUT-KIYEOK */
  {0x11CB , L  }, /* HANGUL JONGSEONG TIKEUT-RIEUL */
  {0x11CC , L  }, /* HANGUL JONGSEONG RIEUL-KIYEOK-SIOS */
  {0x11CD , L  }, /* HANGUL JONGSEONG RIEUL-NIEUN */
  {0x11CE , L  }, /* HANGUL JONGSEONG RIEUL-TIKEUT */
  {0x11CF , L  }, /* HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH */
  {0x11D0 , L  }, /* HANGUL JONGSEONG SSANGRIEUL */
  {0x11D1 , L  }, /* HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK */
  {0x11D2 , L  }, /* HANGUL JONGSEONG RIEUL-MIEUM-SIOS */
  {0x11D3 , L  }, /* HANGUL JONGSEONG RIEUL-PIEUP-SIOS */
  {0x11D4 , L  }, /* HANGUL JONGSEONG RIEUL-PIEUP-HIEUH */
  {0x11D5 , L  }, /* HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP */
  {0x11D6 , L  }, /* HANGUL JONGSEONG RIEUL-SSANGSIOS */
  {0x11D7 , L  }, /* HANGUL JONGSEONG RIEUL-PANSIOS */
  {0x11D8 , L  }, /* HANGUL JONGSEONG RIEUL-KHIEUKH */
  {0x11D9 , L  }, /* HANGUL JONGSEONG RIEUL-YEORINHIEUH */
  {0x11DA , L  }, /* HANGUL JONGSEONG MIEUM-KIYEOK */
  {0x11DB , L  }, /* HANGUL JONGSEONG MIEUM-RIEUL */
  {0x11DC , L  }, /* HANGUL JONGSEONG MIEUM-PIEUP */
  {0x11DD , L  }, /* HANGUL JONGSEONG MIEUM-SIOS */
  {0x11DE , L  }, /* HANGUL JONGSEONG MIEUM-SSANGSIOS */
  {0x11DF , L  }, /* HANGUL JONGSEONG MIEUM-PANSIOS */
  {0x11E0 , L  }, /* HANGUL JONGSEONG MIEUM-CHIEUCH */
  {0x11E1 , L  }, /* HANGUL JONGSEONG MIEUM-HIEUH */
  {0x11E2 , L  }, /* HANGUL JONGSEONG KAPYEOUNMIEUM */
  {0x11E3 , L  }, /* HANGUL JONGSEONG PIEUP-RIEUL */
  {0x11E4 , L  }, /* HANGUL JONGSEONG PIEUP-PHIEUPH */
  {0x11E5 , L  }, /* HANGUL JONGSEONG PIEUP-HIEUH */
  {0x11E6 , L  }, /* HANGUL JONGSEONG KAPYEOUNPIEUP */
  {0x11E7 , L  }, /* HANGUL JONGSEONG SIOS-KIYEOK */
  {0x11E8 , L  }, /* HANGUL JONGSEONG SIOS-TIKEUT */
  {0x11E9 , L  }, /* HANGUL JONGSEONG SIOS-RIEUL */
  {0x11EA , L  }, /* HANGUL JONGSEONG SIOS-PIEUP */
  {0x11EB , L  }, /* HANGUL JONGSEONG PANSIOS */
  {0x11EC , L  }, /* HANGUL JONGSEONG IEUNG-KIYEOK */
  {0x11ED , L  }, /* HANGUL JONGSEONG IEUNG-SSANGKIYEOK */
  {0x11EE , L  }, /* HANGUL JONGSEONG SSANGIEUNG */
  {0x11EF , L  }, /* HANGUL JONGSEONG IEUNG-KHIEUKH */
  {0x11F0 , L  }, /* HANGUL JONGSEONG YESIEUNG */
  {0x11F1 , L  }, /* HANGUL JONGSEONG YESIEUNG-SIOS */
  {0x11F2 , L  }, /* HANGUL JONGSEONG YESIEUNG-PANSIOS */
  {0x11F3 , L  }, /* HANGUL JONGSEONG PHIEUPH-PIEUP */
  {0x11F4 , L  }, /* HANGUL JONGSEONG KAPYEOUNPHIEUPH */
  {0x11F5 , L  }, /* HANGUL JONGSEONG HIEUH-NIEUN */
  {0x11F6 , L  }, /* HANGUL JONGSEONG HIEUH-RIEUL */
  {0x11F7 , L  }, /* HANGUL JONGSEONG HIEUH-MIEUM */
  {0x11F8 , L  }, /* HANGUL JONGSEONG HIEUH-PIEUP */
  {0x11F9 , L  }, /* HANGUL JONGSEONG YEORINHIEUH */
  {0x1200 , L  }, /* ETHIOPIC SYLLABLE HA */
  {0x1201 , L  }, /* ETHIOPIC SYLLABLE HU */
  {0x1202 , L  }, /* ETHIOPIC SYLLABLE HI */
  {0x1203 , L  }, /* ETHIOPIC SYLLABLE HAA */
  {0x1204 , L  }, /* ETHIOPIC SYLLABLE HEE */
  {0x1205 , L  }, /* ETHIOPIC SYLLABLE HE */
  {0x1206 , L  }, /* ETHIOPIC SYLLABLE HO */
  {0x1207 , L  }, /* ETHIOPIC SYLLABLE HOA */
  {0x1208 , L  }, /* ETHIOPIC SYLLABLE LA */
  {0x1209 , L  }, /* ETHIOPIC SYLLABLE LU */
  {0x120A , L  }, /* ETHIOPIC SYLLABLE LI */
  {0x120B , L  }, /* ETHIOPIC SYLLABLE LAA */
  {0x120C , L  }, /* ETHIOPIC SYLLABLE LEE */
  {0x120D , L  }, /* ETHIOPIC SYLLABLE LE */
  {0x120E , L  }, /* ETHIOPIC SYLLABLE LO */
  {0x120F , L  }, /* ETHIOPIC SYLLABLE LWA */
  {0x1210 , L  }, /* ETHIOPIC SYLLABLE HHA */
  {0x1211 , L  }, /* ETHIOPIC SYLLABLE HHU */
  {0x1212 , L  }, /* ETHIOPIC SYLLABLE HHI */
  {0x1213 , L  }, /* ETHIOPIC SYLLABLE HHAA */
  {0x1214 , L  }, /* ETHIOPIC SYLLABLE HHEE */
  {0x1215 , L  }, /* ETHIOPIC SYLLABLE HHE */
  {0x1216 , L  }, /* ETHIOPIC SYLLABLE HHO */
  {0x1217 , L  }, /* ETHIOPIC SYLLABLE HHWA */
  {0x1218 , L  }, /* ETHIOPIC SYLLABLE MA */
  {0x1219 , L  }, /* ETHIOPIC SYLLABLE MU */
  {0x121A , L  }, /* ETHIOPIC SYLLABLE MI */
  {0x121B , L  }, /* ETHIOPIC SYLLABLE MAA */
  {0x121C , L  }, /* ETHIOPIC SYLLABLE MEE */
  {0x121D , L  }, /* ETHIOPIC SYLLABLE ME */
  {0x121E , L  }, /* ETHIOPIC SYLLABLE MO */
  {0x121F , L  }, /* ETHIOPIC SYLLABLE MWA */
  {0x1220 , L  }, /* ETHIOPIC SYLLABLE SZA */
  {0x1221 , L  }, /* ETHIOPIC SYLLABLE SZU */
  {0x1222 , L  }, /* ETHIOPIC SYLLABLE SZI */
  {0x1223 , L  }, /* ETHIOPIC SYLLABLE SZAA */
  {0x1224 , L  }, /* ETHIOPIC SYLLABLE SZEE */
  {0x1225 , L  }, /* ETHIOPIC SYLLABLE SZE */
  {0x1226 , L  }, /* ETHIOPIC SYLLABLE SZO */
  {0x1227 , L  }, /* ETHIOPIC SYLLABLE SZWA */
  {0x1228 , L  }, /* ETHIOPIC SYLLABLE RA */
  {0x1229 , L  }, /* ETHIOPIC SYLLABLE RU */
  {0x122A , L  }, /* ETHIOPIC SYLLABLE RI */
  {0x122B , L  }, /* ETHIOPIC SYLLABLE RAA */
  {0x122C , L  }, /* ETHIOPIC SYLLABLE REE */
  {0x122D , L  }, /* ETHIOPIC SYLLABLE RE */
  {0x122E , L  }, /* ETHIOPIC SYLLABLE RO */
  {0x122F , L  }, /* ETHIOPIC SYLLABLE RWA */
  {0x1230 , L  }, /* ETHIOPIC SYLLABLE SA */
  {0x1231 , L  }, /* ETHIOPIC SYLLABLE SU */
  {0x1232 , L  }, /* ETHIOPIC SYLLABLE SI */
  {0x1233 , L  }, /* ETHIOPIC SYLLABLE SAA */
  {0x1234 , L  }, /* ETHIOPIC SYLLABLE SEE */
  {0x1235 , L  }, /* ETHIOPIC SYLLABLE SE */
  {0x1236 , L  }, /* ETHIOPIC SYLLABLE SO */
  {0x1237 , L  }, /* ETHIOPIC SYLLABLE SWA */
  {0x1238 , L  }, /* ETHIOPIC SYLLABLE SHA */
  {0x1239 , L  }, /* ETHIOPIC SYLLABLE SHU */
  {0x123A , L  }, /* ETHIOPIC SYLLABLE SHI */
  {0x123B , L  }, /* ETHIOPIC SYLLABLE SHAA */
  {0x123C , L  }, /* ETHIOPIC SYLLABLE SHEE */
  {0x123D , L  }, /* ETHIOPIC SYLLABLE SHE */
  {0x123E , L  }, /* ETHIOPIC SYLLABLE SHO */
  {0x123F , L  }, /* ETHIOPIC SYLLABLE SHWA */
  {0x1240 , L  }, /* ETHIOPIC SYLLABLE QA */
  {0x1241 , L  }, /* ETHIOPIC SYLLABLE QU */
  {0x1242 , L  }, /* ETHIOPIC SYLLABLE QI */
  {0x1243 , L  }, /* ETHIOPIC SYLLABLE QAA */
  {0x1244 , L  }, /* ETHIOPIC SYLLABLE QEE */
  {0x1245 , L  }, /* ETHIOPIC SYLLABLE QE */
  {0x1246 , L  }, /* ETHIOPIC SYLLABLE QO */
  {0x1247 , L  }, /* ETHIOPIC SYLLABLE QOA */
  {0x1248 , L  }, /* ETHIOPIC SYLLABLE QWA */
  {0x124A , L  }, /* ETHIOPIC SYLLABLE QWI */
  {0x124B , L  }, /* ETHIOPIC SYLLABLE QWAA */
  {0x124C , L  }, /* ETHIOPIC SYLLABLE QWEE */
  {0x124D , L  }, /* ETHIOPIC SYLLABLE QWE */
  {0x1250 , L  }, /* ETHIOPIC SYLLABLE QHA */
  {0x1251 , L  }, /* ETHIOPIC SYLLABLE QHU */
  {0x1252 , L  }, /* ETHIOPIC SYLLABLE QHI */
  {0x1253 , L  }, /* ETHIOPIC SYLLABLE QHAA */
  {0x1254 , L  }, /* ETHIOPIC SYLLABLE QHEE */
  {0x1255 , L  }, /* ETHIOPIC SYLLABLE QHE */
  {0x1256 , L  }, /* ETHIOPIC SYLLABLE QHO */
  {0x1258 , L  }, /* ETHIOPIC SYLLABLE QHWA */
  {0x125A , L  }, /* ETHIOPIC SYLLABLE QHWI */
  {0x125B , L  }, /* ETHIOPIC SYLLABLE QHWAA */
  {0x125C , L  }, /* ETHIOPIC SYLLABLE QHWEE */
  {0x125D , L  }, /* ETHIOPIC SYLLABLE QHWE */
  {0x1260 , L  }, /* ETHIOPIC SYLLABLE BA */
  {0x1261 , L  }, /* ETHIOPIC SYLLABLE BU */
  {0x1262 , L  }, /* ETHIOPIC SYLLABLE BI */
  {0x1263 , L  }, /* ETHIOPIC SYLLABLE BAA */
  {0x1264 , L  }, /* ETHIOPIC SYLLABLE BEE */
  {0x1265 , L  }, /* ETHIOPIC SYLLABLE BE */
  {0x1266 , L  }, /* ETHIOPIC SYLLABLE BO */
  {0x1267 , L  }, /* ETHIOPIC SYLLABLE BWA */
  {0x1268 , L  }, /* ETHIOPIC SYLLABLE VA */
  {0x1269 , L  }, /* ETHIOPIC SYLLABLE VU */
  {0x126A , L  }, /* ETHIOPIC SYLLABLE VI */
  {0x126B , L  }, /* ETHIOPIC SYLLABLE VAA */
  {0x126C , L  }, /* ETHIOPIC SYLLABLE VEE */
  {0x126D , L  }, /* ETHIOPIC SYLLABLE VE */
  {0x126E , L  }, /* ETHIOPIC SYLLABLE VO */
  {0x126F , L  }, /* ETHIOPIC SYLLABLE VWA */
  {0x1270 , L  }, /* ETHIOPIC SYLLABLE TA */
  {0x1271 , L  }, /* ETHIOPIC SYLLABLE TU */
  {0x1272 , L  }, /* ETHIOPIC SYLLABLE TI */
  {0x1273 , L  }, /* ETHIOPIC SYLLABLE TAA */
  {0x1274 , L  }, /* ETHIOPIC SYLLABLE TEE */
  {0x1275 , L  }, /* ETHIOPIC SYLLABLE TE */
  {0x1276 , L  }, /* ETHIOPIC SYLLABLE TO */
  {0x1277 , L  }, /* ETHIOPIC SYLLABLE TWA */
  {0x1278 , L  }, /* ETHIOPIC SYLLABLE CA */
  {0x1279 , L  }, /* ETHIOPIC SYLLABLE CU */
  {0x127A , L  }, /* ETHIOPIC SYLLABLE CI */
  {0x127B , L  }, /* ETHIOPIC SYLLABLE CAA */
  {0x127C , L  }, /* ETHIOPIC SYLLABLE CEE */
  {0x127D , L  }, /* ETHIOPIC SYLLABLE CE */
  {0x127E , L  }, /* ETHIOPIC SYLLABLE CO */
  {0x127F , L  }, /* ETHIOPIC SYLLABLE CWA */
  {0x1280 , L  }, /* ETHIOPIC SYLLABLE XA */
  {0x1281 , L  }, /* ETHIOPIC SYLLABLE XU */
  {0x1282 , L  }, /* ETHIOPIC SYLLABLE XI */
  {0x1283 , L  }, /* ETHIOPIC SYLLABLE XAA */
  {0x1284 , L  }, /* ETHIOPIC SYLLABLE XEE */
  {0x1285 , L  }, /* ETHIOPIC SYLLABLE XE */
  {0x1286 , L  }, /* ETHIOPIC SYLLABLE XO */
  {0x1287 , L  }, /* ETHIOPIC SYLLABLE XOA */
  {0x1288 , L  }, /* ETHIOPIC SYLLABLE XWA */
  {0x128A , L  }, /* ETHIOPIC SYLLABLE XWI */
  {0x128B , L  }, /* ETHIOPIC SYLLABLE XWAA */
  {0x128C , L  }, /* ETHIOPIC SYLLABLE XWEE */
  {0x128D , L  }, /* ETHIOPIC SYLLABLE XWE */
  {0x1290 , L  }, /* ETHIOPIC SYLLABLE NA */
  {0x1291 , L  }, /* ETHIOPIC SYLLABLE NU */
  {0x1292 , L  }, /* ETHIOPIC SYLLABLE NI */
  {0x1293 , L  }, /* ETHIOPIC SYLLABLE NAA */
  {0x1294 , L  }, /* ETHIOPIC SYLLABLE NEE */
  {0x1295 , L  }, /* ETHIOPIC SYLLABLE NE */
  {0x1296 , L  }, /* ETHIOPIC SYLLABLE NO */
  {0x1297 , L  }, /* ETHIOPIC SYLLABLE NWA */
  {0x1298 , L  }, /* ETHIOPIC SYLLABLE NYA */
  {0x1299 , L  }, /* ETHIOPIC SYLLABLE NYU */
  {0x129A , L  }, /* ETHIOPIC SYLLABLE NYI */
  {0x129B , L  }, /* ETHIOPIC SYLLABLE NYAA */
  {0x129C , L  }, /* ETHIOPIC SYLLABLE NYEE */
  {0x129D , L  }, /* ETHIOPIC SYLLABLE NYE */
  {0x129E , L  }, /* ETHIOPIC SYLLABLE NYO */
  {0x129F , L  }, /* ETHIOPIC SYLLABLE NYWA */
  {0x12A0 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL A */
  {0x12A1 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL U */
  {0x12A2 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL I */
  {0x12A3 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL AA */
  {0x12A4 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL EE */
  {0x12A5 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL E */
  {0x12A6 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL O */
  {0x12A7 , L  }, /* ETHIOPIC SYLLABLE GLOTTAL WA */
  {0x12A8 , L  }, /* ETHIOPIC SYLLABLE KA */
  {0x12A9 , L  }, /* ETHIOPIC SYLLABLE KU */
  {0x12AA , L  }, /* ETHIOPIC SYLLABLE KI */
  {0x12AB , L  }, /* ETHIOPIC SYLLABLE KAA */
  {0x12AC , L  }, /* ETHIOPIC SYLLABLE KEE */
  {0x12AD , L  }, /* ETHIOPIC SYLLABLE KE */
  {0x12AE , L  }, /* ETHIOPIC SYLLABLE KO */
  {0x12AF , L  }, /* ETHIOPIC SYLLABLE KOA */
  {0x12B0 , L  }, /* ETHIOPIC SYLLABLE KWA */
  {0x12B2 , L  }, /* ETHIOPIC SYLLABLE KWI */
  {0x12B3 , L  }, /* ETHIOPIC SYLLABLE KWAA */
  {0x12B4 , L  }, /* ETHIOPIC SYLLABLE KWEE */
  {0x12B5 , L  }, /* ETHIOPIC SYLLABLE KWE */
  {0x12B8 , L  }, /* ETHIOPIC SYLLABLE KXA */
  {0x12B9 , L  }, /* ETHIOPIC SYLLABLE KXU */
  {0x12BA , L  }, /* ETHIOPIC SYLLABLE KXI */
  {0x12BB , L  }, /* ETHIOPIC SYLLABLE KXAA */
  {0x12BC , L  }, /* ETHIOPIC SYLLABLE KXEE */
  {0x12BD , L  }, /* ETHIOPIC SYLLABLE KXE */
  {0x12BE , L  }, /* ETHIOPIC SYLLABLE KXO */
  {0x12C0 , L  }, /* ETHIOPIC SYLLABLE KXWA */
  {0x12C2 , L  }, /* ETHIOPIC SYLLABLE KXWI */
  {0x12C3 , L  }, /* ETHIOPIC SYLLABLE KXWAA */
  {0x12C4 , L  }, /* ETHIOPIC SYLLABLE KXWEE */
  {0x12C5 , L  }, /* ETHIOPIC SYLLABLE KXWE */
  {0x12C8 , L  }, /* ETHIOPIC SYLLABLE WA */
  {0x12C9 , L  }, /* ETHIOPIC SYLLABLE WU */
  {0x12CA , L  }, /* ETHIOPIC SYLLABLE WI */
  {0x12CB , L  }, /* ETHIOPIC SYLLABLE WAA */
  {0x12CC , L  }, /* ETHIOPIC SYLLABLE WEE */
  {0x12CD , L  }, /* ETHIOPIC SYLLABLE WE */
  {0x12CE , L  }, /* ETHIOPIC SYLLABLE WO */
  {0x12CF , L  }, /* ETHIOPIC SYLLABLE WOA */
  {0x12D0 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL A */
  {0x12D1 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL U */
  {0x12D2 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL I */
  {0x12D3 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL AA */
  {0x12D4 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL EE */
  {0x12D5 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL E */
  {0x12D6 , L  }, /* ETHIOPIC SYLLABLE PHARYNGEAL O */
  {0x12D8 , L  }, /* ETHIOPIC SYLLABLE ZA */
  {0x12D9 , L  }, /* ETHIOPIC SYLLABLE ZU */
  {0x12DA , L  }, /* ETHIOPIC SYLLABLE ZI */
  {0x12DB , L  }, /* ETHIOPIC SYLLABLE ZAA */
  {0x12DC , L  }, /* ETHIOPIC SYLLABLE ZEE */
  {0x12DD , L  }, /* ETHIOPIC SYLLABLE ZE */
  {0x12DE , L  }, /* ETHIOPIC SYLLABLE ZO */
  {0x12DF , L  }, /* ETHIOPIC SYLLABLE ZWA */
  {0x12E0 , L  }, /* ETHIOPIC SYLLABLE ZHA */
  {0x12E1 , L  }, /* ETHIOPIC SYLLABLE ZHU */
  {0x12E2 , L  }, /* ETHIOPIC SYLLABLE ZHI */
  {0x12E3 , L  }, /* ETHIOPIC SYLLABLE ZHAA */
  {0x12E4 , L  }, /* ETHIOPIC SYLLABLE ZHEE */
  {0x12E5 , L  }, /* ETHIOPIC SYLLABLE ZHE */
  {0x12E6 , L  }, /* ETHIOPIC SYLLABLE ZHO */
  {0x12E7 , L  }, /* ETHIOPIC SYLLABLE ZHWA */
  {0x12E8 , L  }, /* ETHIOPIC SYLLABLE YA */
  {0x12E9 , L  }, /* ETHIOPIC SYLLABLE YU */
  {0x12EA , L  }, /* ETHIOPIC SYLLABLE YI */
  {0x12EB , L  }, /* ETHIOPIC SYLLABLE YAA */
  {0x12EC , L  }, /* ETHIOPIC SYLLABLE YEE */
  {0x12ED , L  }, /* ETHIOPIC SYLLABLE YE */
  {0x12EE , L  }, /* ETHIOPIC SYLLABLE YO */
  {0x12EF , L  }, /* ETHIOPIC SYLLABLE YOA */
  {0x12F0 , L  }, /* ETHIOPIC SYLLABLE DA */
  {0x12F1 , L  }, /* ETHIOPIC SYLLABLE DU */
  {0x12F2 , L  }, /* ETHIOPIC SYLLABLE DI */
  {0x12F3 , L  }, /* ETHIOPIC SYLLABLE DAA */
  {0x12F4 , L  }, /* ETHIOPIC SYLLABLE DEE */
  {0x12F5 , L  }, /* ETHIOPIC SYLLABLE DE */
  {0x12F6 , L  }, /* ETHIOPIC SYLLABLE DO */
  {0x12F7 , L  }, /* ETHIOPIC SYLLABLE DWA */
  {0x12F8 , L  }, /* ETHIOPIC SYLLABLE DDA */
  {0x12F9 , L  }, /* ETHIOPIC SYLLABLE DDU */
  {0x12FA , L  }, /* ETHIOPIC SYLLABLE DDI */
  {0x12FB , L  }, /* ETHIOPIC SYLLABLE DDAA */
  {0x12FC , L  }, /* ETHIOPIC SYLLABLE DDEE */
  {0x12FD , L  }, /* ETHIOPIC SYLLABLE DDE */
  {0x12FE , L  }, /* ETHIOPIC SYLLABLE DDO */
  {0x12FF , L  }, /* ETHIOPIC SYLLABLE DDWA */
  {0x1300 , L  }, /* ETHIOPIC SYLLABLE JA */
  {0x1301 , L  }, /* ETHIOPIC SYLLABLE JU */
  {0x1302 , L  }, /* ETHIOPIC SYLLABLE JI */
  {0x1303 , L  }, /* ETHIOPIC SYLLABLE JAA */
  {0x1304 , L  }, /* ETHIOPIC SYLLABLE JEE */
  {0x1305 , L  }, /* ETHIOPIC SYLLABLE JE */
  {0x1306 , L  }, /* ETHIOPIC SYLLABLE JO */
  {0x1307 , L  }, /* ETHIOPIC SYLLABLE JWA */
  {0x1308 , L  }, /* ETHIOPIC SYLLABLE GA */
  {0x1309 , L  }, /* ETHIOPIC SYLLABLE GU */
  {0x130A , L  }, /* ETHIOPIC SYLLABLE GI */
  {0x130B , L  }, /* ETHIOPIC SYLLABLE GAA */
  {0x130C , L  }, /* ETHIOPIC SYLLABLE GEE */
  {0x130D , L  }, /* ETHIOPIC SYLLABLE GE */
  {0x130E , L  }, /* ETHIOPIC SYLLABLE GO */
  {0x130F , L  }, /* ETHIOPIC SYLLABLE GOA */
  {0x1310 , L  }, /* ETHIOPIC SYLLABLE GWA */
  {0x1312 , L  }, /* ETHIOPIC SYLLABLE GWI */
  {0x1313 , L  }, /* ETHIOPIC SYLLABLE GWAA */
  {0x1314 , L  }, /* ETHIOPIC SYLLABLE GWEE */
  {0x1315 , L  }, /* ETHIOPIC SYLLABLE GWE */
  {0x1318 , L  }, /* ETHIOPIC SYLLABLE GGA */
  {0x1319 , L  }, /* ETHIOPIC SYLLABLE GGU */
  {0x131A , L  }, /* ETHIOPIC SYLLABLE GGI */
  {0x131B , L  }, /* ETHIOPIC SYLLABLE GGAA */
  {0x131C , L  }, /* ETHIOPIC SYLLABLE GGEE */
  {0x131D , L  }, /* ETHIOPIC SYLLABLE GGE */
  {0x131E , L  }, /* ETHIOPIC SYLLABLE GGO */
  {0x131F , L  }, /* ETHIOPIC SYLLABLE GGWAA */
  {0x1320 , L  }, /* ETHIOPIC SYLLABLE THA */
  {0x1321 , L  }, /* ETHIOPIC SYLLABLE THU */
  {0x1322 , L  }, /* ETHIOPIC SYLLABLE THI */
  {0x1323 , L  }, /* ETHIOPIC SYLLABLE THAA */
  {0x1324 , L  }, /* ETHIOPIC SYLLABLE THEE */
  {0x1325 , L  }, /* ETHIOPIC SYLLABLE THE */
  {0x1326 , L  }, /* ETHIOPIC SYLLABLE THO */
  {0x1327 , L  }, /* ETHIOPIC SYLLABLE THWA */
  {0x1328 , L  }, /* ETHIOPIC SYLLABLE CHA */
  {0x1329 , L  }, /* ETHIOPIC SYLLABLE CHU */
  {0x132A , L  }, /* ETHIOPIC SYLLABLE CHI */
  {0x132B , L  }, /* ETHIOPIC SYLLABLE CHAA */
  {0x132C , L  }, /* ETHIOPIC SYLLABLE CHEE */
  {0x132D , L  }, /* ETHIOPIC SYLLABLE CHE */
  {0x132E , L  }, /* ETHIOPIC SYLLABLE CHO */
  {0x132F , L  }, /* ETHIOPIC SYLLABLE CHWA */
  {0x1330 , L  }, /* ETHIOPIC SYLLABLE PHA */
  {0x1331 , L  }, /* ETHIOPIC SYLLABLE PHU */
  {0x1332 , L  }, /* ETHIOPIC SYLLABLE PHI */
  {0x1333 , L  }, /* ETHIOPIC SYLLABLE PHAA */
  {0x1334 , L  }, /* ETHIOPIC SYLLABLE PHEE */
  {0x1335 , L  }, /* ETHIOPIC SYLLABLE PHE */
  {0x1336 , L  }, /* ETHIOPIC SYLLABLE PHO */
  {0x1337 , L  }, /* ETHIOPIC SYLLABLE PHWA */
  {0x1338 , L  }, /* ETHIOPIC SYLLABLE TSA */
  {0x1339 , L  }, /* ETHIOPIC SYLLABLE TSU */
  {0x133A , L  }, /* ETHIOPIC SYLLABLE TSI */
  {0x133B , L  }, /* ETHIOPIC SYLLABLE TSAA */
  {0x133C , L  }, /* ETHIOPIC SYLLABLE TSEE */
  {0x133D , L  }, /* ETHIOPIC SYLLABLE TSE */
  {0x133E , L  }, /* ETHIOPIC SYLLABLE TSO */
  {0x133F , L  }, /* ETHIOPIC SYLLABLE TSWA */
  {0x1340 , L  }, /* ETHIOPIC SYLLABLE TZA */
  {0x1341 , L  }, /* ETHIOPIC SYLLABLE TZU */
  {0x1342 , L  }, /* ETHIOPIC SYLLABLE TZI */
  {0x1343 , L  }, /* ETHIOPIC SYLLABLE TZAA */
  {0x1344 , L  }, /* ETHIOPIC SYLLABLE TZEE */
  {0x1345 , L  }, /* ETHIOPIC SYLLABLE TZE */
  {0x1346 , L  }, /* ETHIOPIC SYLLABLE TZO */
  {0x1347 , L  }, /* ETHIOPIC SYLLABLE TZOA */
  {0x1348 , L  }, /* ETHIOPIC SYLLABLE FA */
  {0x1349 , L  }, /* ETHIOPIC SYLLABLE FU */
  {0x134A , L  }, /* ETHIOPIC SYLLABLE FI */
  {0x134B , L  }, /* ETHIOPIC SYLLABLE FAA */
  {0x134C , L  }, /* ETHIOPIC SYLLABLE FEE */
  {0x134D , L  }, /* ETHIOPIC SYLLABLE FE */
  {0x134E , L  }, /* ETHIOPIC SYLLABLE FO */
  {0x134F , L  }, /* ETHIOPIC SYLLABLE FWA */
  {0x1350 , L  }, /* ETHIOPIC SYLLABLE PA */
  {0x1351 , L  }, /* ETHIOPIC SYLLABLE PU */
  {0x1352 , L  }, /* ETHIOPIC SYLLABLE PI */
  {0x1353 , L  }, /* ETHIOPIC SYLLABLE PAA */
  {0x1354 , L  }, /* ETHIOPIC SYLLABLE PEE */
  {0x1355 , L  }, /* ETHIOPIC SYLLABLE PE */
  {0x1356 , L  }, /* ETHIOPIC SYLLABLE PO */
  {0x1357 , L  }, /* ETHIOPIC SYLLABLE PWA */
  {0x1358 , L  }, /* ETHIOPIC SYLLABLE RYA */
  {0x1359 , L  }, /* ETHIOPIC SYLLABLE MYA */
  {0x135A , L  }, /* ETHIOPIC SYLLABLE FYA */
  {0x135F , NSM}, /* ETHIOPIC COMBINING GEMINATION MARK */
  {0x1360 , L  }, /* ETHIOPIC SECTION MARK */
  {0x1361 , L  }, /* ETHIOPIC WORDSPACE */
  {0x1362 , L  }, /* ETHIOPIC FULL STOP */
  {0x1363 , L  }, /* ETHIOPIC COMMA */
  {0x1364 , L  }, /* ETHIOPIC SEMICOLON */
  {0x1365 , L  }, /* ETHIOPIC COLON */
  {0x1366 , L  }, /* ETHIOPIC PREFACE COLON */
  {0x1367 , L  }, /* ETHIOPIC QUESTION MARK */
  {0x1368 , L  }, /* ETHIOPIC PARAGRAPH SEPARATOR */
  {0x1369 , L  }, /* ETHIOPIC DIGIT ONE */
  {0x136A , L  }, /* ETHIOPIC DIGIT TWO */
  {0x136B , L  }, /* ETHIOPIC DIGIT THREE */
  {0x136C , L  }, /* ETHIOPIC DIGIT FOUR */
  {0x136D , L  }, /* ETHIOPIC DIGIT FIVE */
  {0x136E , L  }, /* ETHIOPIC DIGIT SIX */
  {0x136F , L  }, /* ETHIOPIC DIGIT SEVEN */
  {0x1370 , L  }, /* ETHIOPIC DIGIT EIGHT */
  {0x1371 , L  }, /* ETHIOPIC DIGIT NINE */
  {0x1372 , L  }, /* ETHIOPIC NUMBER TEN */
  {0x1373 , L  }, /* ETHIOPIC NUMBER TWENTY */
  {0x1374 , L  }, /* ETHIOPIC NUMBER THIRTY */
  {0x1375 , L  }, /* ETHIOPIC NUMBER FORTY */
  {0x1376 , L  }, /* ETHIOPIC NUMBER FIFTY */
  {0x1377 , L  }, /* ETHIOPIC NUMBER SIXTY */
  {0x1378 , L  }, /* ETHIOPIC NUMBER SEVENTY */
  {0x1379 , L  }, /* ETHIOPIC NUMBER EIGHTY */
  {0x137A , L  }, /* ETHIOPIC NUMBER NINETY */
  {0x137B , L  }, /* ETHIOPIC NUMBER HUNDRED */
  {0x137C , L  }, /* ETHIOPIC NUMBER TEN THOUSAND */
  {0x1380 , L  }, /* ETHIOPIC SYLLABLE SEBATBEIT MWA */
  {0x1381 , L  }, /* ETHIOPIC SYLLABLE MWI */
  {0x1382 , L  }, /* ETHIOPIC SYLLABLE MWEE */
  {0x1383 , L  }, /* ETHIOPIC SYLLABLE MWE */
  {0x1384 , L  }, /* ETHIOPIC SYLLABLE SEBATBEIT BWA */
  {0x1385 , L  }, /* ETHIOPIC SYLLABLE BWI */
  {0x1386 , L  }, /* ETHIOPIC SYLLABLE BWEE */
  {0x1387 , L  }, /* ETHIOPIC SYLLABLE BWE */
  {0x1388 , L  }, /* ETHIOPIC SYLLABLE SEBATBEIT FWA */
  {0x1389 , L  }, /* ETHIOPIC SYLLABLE FWI */
  {0x138A , L  }, /* ETHIOPIC SYLLABLE FWEE */
  {0x138B , L  }, /* ETHIOPIC SYLLABLE FWE */
  {0x138C , L  }, /* ETHIOPIC SYLLABLE SEBATBEIT PWA */
  {0x138D , L  }, /* ETHIOPIC SYLLABLE PWI */
  {0x138E , L  }, /* ETHIOPIC SYLLABLE PWEE */
  {0x138F , L  }, /* ETHIOPIC SYLLABLE PWE */
  {0x1390 , ON }, /* ETHIOPIC TONAL MARK YIZET */
  {0x1391 , ON }, /* ETHIOPIC TONAL MARK DERET */
  {0x1392 , ON }, /* ETHIOPIC TONAL MARK RIKRIK */
  {0x1393 , ON }, /* ETHIOPIC TONAL MARK SHORT RIKRIK */
  {0x1394 , ON }, /* ETHIOPIC TONAL MARK DIFAT */
  {0x1395 , ON }, /* ETHIOPIC TONAL MARK KENAT */
  {0x1396 , ON }, /* ETHIOPIC TONAL MARK CHIRET */
  {0x1397 , ON }, /* ETHIOPIC TONAL MARK HIDET */
  {0x1398 , ON }, /* ETHIOPIC TONAL MARK DERET-HIDET */
  {0x1399 , ON }, /* ETHIOPIC TONAL MARK KURT */
  {0x13A0 , L  }, /* CHEROKEE LETTER A */
  {0x13A1 , L  }, /* CHEROKEE LETTER E */
  {0x13A2 , L  }, /* CHEROKEE LETTER I */
  {0x13A3 , L  }, /* CHEROKEE LETTER O */
  {0x13A4 , L  }, /* CHEROKEE LETTER U */
  {0x13A5 , L  }, /* CHEROKEE LETTER V */
  {0x13A6 , L  }, /* CHEROKEE LETTER GA */
  {0x13A7 , L  }, /* CHEROKEE LETTER KA */
  {0x13A8 , L  }, /* CHEROKEE LETTER GE */
  {0x13A9 , L  }, /* CHEROKEE LETTER GI */
  {0x13AA , L  }, /* CHEROKEE LETTER GO */
  {0x13AB , L  }, /* CHEROKEE LETTER GU */
  {0x13AC , L  }, /* CHEROKEE LETTER GV */
  {0x13AD , L  }, /* CHEROKEE LETTER HA */
  {0x13AE , L  }, /* CHEROKEE LETTER HE */
  {0x13AF , L  }, /* CHEROKEE LETTER HI */
  {0x13B0 , L  }, /* CHEROKEE LETTER HO */
  {0x13B1 , L  }, /* CHEROKEE LETTER HU */
  {0x13B2 , L  }, /* CHEROKEE LETTER HV */
  {0x13B3 , L  }, /* CHEROKEE LETTER LA */
  {0x13B4 , L  }, /* CHEROKEE LETTER LE */
  {0x13B5 , L  }, /* CHEROKEE LETTER LI */
  {0x13B6 , L  }, /* CHEROKEE LETTER LO */
  {0x13B7 , L  }, /* CHEROKEE LETTER LU */
  {0x13B8 , L  }, /* CHEROKEE LETTER LV */
  {0x13B9 , L  }, /* CHEROKEE LETTER MA */
  {0x13BA , L  }, /* CHEROKEE LETTER ME */
  {0x13BB , L  }, /* CHEROKEE LETTER MI */
  {0x13BC , L  }, /* CHEROKEE LETTER MO */
  {0x13BD , L  }, /* CHEROKEE LETTER MU */
  {0x13BE , L  }, /* CHEROKEE LETTER NA */
  {0x13BF , L  }, /* CHEROKEE LETTER HNA */
  {0x13C0 , L  }, /* CHEROKEE LETTER NAH */
  {0x13C1 , L  }, /* CHEROKEE LETTER NE */
  {0x13C2 , L  }, /* CHEROKEE LETTER NI */
  {0x13C3 , L  }, /* CHEROKEE LETTER NO */
  {0x13C4 , L  }, /* CHEROKEE LETTER NU */
  {0x13C5 , L  }, /* CHEROKEE LETTER NV */
  {0x13C6 , L  }, /* CHEROKEE LETTER QUA */
  {0x13C7 , L  }, /* CHEROKEE LETTER QUE */
  {0x13C8 , L  }, /* CHEROKEE LETTER QUI */
  {0x13C9 , L  }, /* CHEROKEE LETTER QUO */
  {0x13CA , L  }, /* CHEROKEE LETTER QUU */
  {0x13CB , L  }, /* CHEROKEE LETTER QUV */
  {0x13CC , L  }, /* CHEROKEE LETTER SA */
  {0x13CD , L  }, /* CHEROKEE LETTER S */
  {0x13CE , L  }, /* CHEROKEE LETTER SE */
  {0x13CF , L  }, /* CHEROKEE LETTER SI */
  {0x13D0 , L  }, /* CHEROKEE LETTER SO */
  {0x13D1 , L  }, /* CHEROKEE LETTER SU */
  {0x13D2 , L  }, /* CHEROKEE LETTER SV */
  {0x13D3 , L  }, /* CHEROKEE LETTER DA */
  {0x13D4 , L  }, /* CHEROKEE LETTER TA */
  {0x13D5 , L  }, /* CHEROKEE LETTER DE */
  {0x13D6 , L  }, /* CHEROKEE LETTER TE */
  {0x13D7 , L  }, /* CHEROKEE LETTER DI */
  {0x13D8 , L  }, /* CHEROKEE LETTER TI */
  {0x13D9 , L  }, /* CHEROKEE LETTER DO */
  {0x13DA , L  }, /* CHEROKEE LETTER DU */
  {0x13DB , L  }, /* CHEROKEE LETTER DV */
  {0x13DC , L  }, /* CHEROKEE LETTER DLA */
  {0x13DD , L  }, /* CHEROKEE LETTER TLA */
  {0x13DE , L  }, /* CHEROKEE LETTER TLE */
  {0x13DF , L  }, /* CHEROKEE LETTER TLI */
  {0x13E0 , L  }, /* CHEROKEE LETTER TLO */
  {0x13E1 , L  }, /* CHEROKEE LETTER TLU */
  {0x13E2 , L  }, /* CHEROKEE LETTER TLV */
  {0x13E3 , L  }, /* CHEROKEE LETTER TSA */
  {0x13E4 , L  }, /* CHEROKEE LETTER TSE */
  {0x13E5 , L  }, /* CHEROKEE LETTER TSI */
  {0x13E6 , L  }, /* CHEROKEE LETTER TSO */
  {0x13E7 , L  }, /* CHEROKEE LETTER TSU */
  {0x13E8 , L  }, /* CHEROKEE LETTER TSV */
  {0x13E9 , L  }, /* CHEROKEE LETTER WA */
  {0x13EA , L  }, /* CHEROKEE LETTER WE */
  {0x13EB , L  }, /* CHEROKEE LETTER WI */
  {0x13EC , L  }, /* CHEROKEE LETTER WO */
  {0x13ED , L  }, /* CHEROKEE LETTER WU */
  {0x13EE , L  }, /* CHEROKEE LETTER WV */
  {0x13EF , L  }, /* CHEROKEE LETTER YA */
  {0x13F0 , L  }, /* CHEROKEE LETTER YE */
  {0x13F1 , L  }, /* CHEROKEE LETTER YI */
  {0x13F2 , L  }, /* CHEROKEE LETTER YO */
  {0x13F3 , L  }, /* CHEROKEE LETTER YU */
  {0x13F4 , L  }, /* CHEROKEE LETTER YV */
  {0x1401 , L  }, /* CANADIAN SYLLABICS E */
  {0x1402 , L  }, /* CANADIAN SYLLABICS AAI */
  {0x1403 , L  }, /* CANADIAN SYLLABICS I */
  {0x1404 , L  }, /* CANADIAN SYLLABICS II */
  {0x1405 , L  }, /* CANADIAN SYLLABICS O */
  {0x1406 , L  }, /* CANADIAN SYLLABICS OO */
  {0x1407 , L  }, /* CANADIAN SYLLABICS Y-CREE OO */
  {0x1408 , L  }, /* CANADIAN SYLLABICS CARRIER EE */
  {0x1409 , L  }, /* CANADIAN SYLLABICS CARRIER I */
  {0x140A , L  }, /* CANADIAN SYLLABICS A */
  {0x140B , L  }, /* CANADIAN SYLLABICS AA */
  {0x140C , L  }, /* CANADIAN SYLLABICS WE */
  {0x140D , L  }, /* CANADIAN SYLLABICS WEST-CREE WE */
  {0x140E , L  }, /* CANADIAN SYLLABICS WI */
  {0x140F , L  }, /* CANADIAN SYLLABICS WEST-CREE WI */
  {0x1410 , L  }, /* CANADIAN SYLLABICS WII */
  {0x1411 , L  }, /* CANADIAN SYLLABICS WEST-CREE WII */
  {0x1412 , L  }, /* CANADIAN SYLLABICS WO */
  {0x1413 , L  }, /* CANADIAN SYLLABICS WEST-CREE WO */
  {0x1414 , L  }, /* CANADIAN SYLLABICS WOO */
  {0x1415 , L  }, /* CANADIAN SYLLABICS WEST-CREE WOO */
  {0x1416 , L  }, /* CANADIAN SYLLABICS NASKAPI WOO */
  {0x1417 , L  }, /* CANADIAN SYLLABICS WA */
  {0x1418 , L  }, /* CANADIAN SYLLABICS WEST-CREE WA */
  {0x1419 , L  }, /* CANADIAN SYLLABICS WAA */
  {0x141A , L  }, /* CANADIAN SYLLABICS WEST-CREE WAA */
  {0x141B , L  }, /* CANADIAN SYLLABICS NASKAPI WAA */
  {0x141C , L  }, /* CANADIAN SYLLABICS AI */
  {0x141D , L  }, /* CANADIAN SYLLABICS Y-CREE W */
  {0x141E , L  }, /* CANADIAN SYLLABICS GLOTTAL STOP */
  {0x141F , L  }, /* CANADIAN SYLLABICS FINAL ACUTE */
  {0x1420 , L  }, /* CANADIAN SYLLABICS FINAL GRAVE */
  {0x1421 , L  }, /* CANADIAN SYLLABICS FINAL BOTTOM HALF RING */
  {0x1422 , L  }, /* CANADIAN SYLLABICS FINAL TOP HALF RING */
  {0x1423 , L  }, /* CANADIAN SYLLABICS FINAL RIGHT HALF RING */
  {0x1424 , L  }, /* CANADIAN SYLLABICS FINAL RING */
  {0x1425 , L  }, /* CANADIAN SYLLABICS FINAL DOUBLE ACUTE */
  {0x1426 , L  }, /* CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES */
  {0x1427 , L  }, /* CANADIAN SYLLABICS FINAL MIDDLE DOT */
  {0x1428 , L  }, /* CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE */
  {0x1429 , L  }, /* CANADIAN SYLLABICS FINAL PLUS */
  {0x142A , L  }, /* CANADIAN SYLLABICS FINAL DOWN TACK */
  {0x142B , L  }, /* CANADIAN SYLLABICS EN */
  {0x142C , L  }, /* CANADIAN SYLLABICS IN */
  {0x142D , L  }, /* CANADIAN SYLLABICS ON */
  {0x142E , L  }, /* CANADIAN SYLLABICS AN */
  {0x142F , L  }, /* CANADIAN SYLLABICS PE */
  {0x1430 , L  }, /* CANADIAN SYLLABICS PAAI */
  {0x1431 , L  }, /* CANADIAN SYLLABICS PI */
  {0x1432 , L  }, /* CANADIAN SYLLABICS PII */
  {0x1433 , L  }, /* CANADIAN SYLLABICS PO */
  {0x1434 , L  }, /* CANADIAN SYLLABICS POO */
  {0x1435 , L  }, /* CANADIAN SYLLABICS Y-CREE POO */
  {0x1436 , L  }, /* CANADIAN SYLLABICS CARRIER HEE */
  {0x1437 , L  }, /* CANADIAN SYLLABICS CARRIER HI */
  {0x1438 , L  }, /* CANADIAN SYLLABICS PA */
  {0x1439 , L  }, /* CANADIAN SYLLABICS PAA */
  {0x143A , L  }, /* CANADIAN SYLLABICS PWE */
  {0x143B , L  }, /* CANADIAN SYLLABICS WEST-CREE PWE */
  {0x143C , L  }, /* CANADIAN SYLLABICS PWI */
  {0x143D , L  }, /* CANADIAN SYLLABICS WEST-CREE PWI */
  {0x143E , L  }, /* CANADIAN SYLLABICS PWII */
  {0x143F , L  }, /* CANADIAN SYLLABICS WEST-CREE PWII */
  {0x1440 , L  }, /* CANADIAN SYLLABICS PWO */
  {0x1441 , L  }, /* CANADIAN SYLLABICS WEST-CREE PWO */
  {0x1442 , L  }, /* CANADIAN SYLLABICS PWOO */
  {0x1443 , L  }, /* CANADIAN SYLLABICS WEST-CREE PWOO */
  {0x1444 , L  }, /* CANADIAN SYLLABICS PWA */
  {0x1445 , L  }, /* CANADIAN SYLLABICS WEST-CREE PWA */
  {0x1446 , L  }, /* CANADIAN SYLLABICS PWAA */
  {0x1447 , L  }, /* CANADIAN SYLLABICS WEST-CREE PWAA */
  {0x1448 , L  }, /* CANADIAN SYLLABICS Y-CREE PWAA */
  {0x1449 , L  }, /* CANADIAN SYLLABICS P */
  {0x144A , L  }, /* CANADIAN SYLLABICS WEST-CREE P */
  {0x144B , L  }, /* CANADIAN SYLLABICS CARRIER H */
  {0x144C , L  }, /* CANADIAN SYLLABICS TE */
  {0x144D , L  }, /* CANADIAN SYLLABICS TAAI */
  {0x144E , L  }, /* CANADIAN SYLLABICS TI */
  {0x144F , L  }, /* CANADIAN SYLLABICS TII */
  {0x1450 , L  }, /* CANADIAN SYLLABICS TO */
  {0x1451 , L  }, /* CANADIAN SYLLABICS TOO */
  {0x1452 , L  }, /* CANADIAN SYLLABICS Y-CREE TOO */
  {0x1453 , L  }, /* CANADIAN SYLLABICS CARRIER DEE */
  {0x1454 , L  }, /* CANADIAN SYLLABICS CARRIER DI */
  {0x1455 , L  }, /* CANADIAN SYLLABICS TA */
  {0x1456 , L  }, /* CANADIAN SYLLABICS TAA */
  {0x1457 , L  }, /* CANADIAN SYLLABICS TWE */
  {0x1458 , L  }, /* CANADIAN SYLLABICS WEST-CREE TWE */
  {0x1459 , L  }, /* CANADIAN SYLLABICS TWI */
  {0x145A , L  }, /* CANADIAN SYLLABICS WEST-CREE TWI */
  {0x145B , L  }, /* CANADIAN SYLLABICS TWII */
  {0x145C , L  }, /* CANADIAN SYLLABICS WEST-CREE TWII */
  {0x145D , L  }, /* CANADIAN SYLLABICS TWO */
  {0x145E , L  }, /* CANADIAN SYLLABICS WEST-CREE TWO */
  {0x145F , L  }, /* CANADIAN SYLLABICS TWOO */
  {0x1460 , L  }, /* CANADIAN SYLLABICS WEST-CREE TWOO */
  {0x1461 , L  }, /* CANADIAN SYLLABICS TWA */
  {0x1462 , L  }, /* CANADIAN SYLLABICS WEST-CREE TWA */
  {0x1463 , L  }, /* CANADIAN SYLLABICS TWAA */
  {0x1464 , L  }, /* CANADIAN SYLLABICS WEST-CREE TWAA */
  {0x1465 , L  }, /* CANADIAN SYLLABICS NASKAPI TWAA */
  {0x1466 , L  }, /* CANADIAN SYLLABICS T */
  {0x1467 , L  }, /* CANADIAN SYLLABICS TTE */
  {0x1468 , L  }, /* CANADIAN SYLLABICS TTI */
  {0x1469 , L  }, /* CANADIAN SYLLABICS TTO */
  {0x146A , L  }, /* CANADIAN SYLLABICS TTA */
  {0x146B , L  }, /* CANADIAN SYLLABICS KE */
  {0x146C , L  }, /* CANADIAN SYLLABICS KAAI */
  {0x146D , L  }, /* CANADIAN SYLLABICS KI */
  {0x146E , L  }, /* CANADIAN SYLLABICS KII */
  {0x146F , L  }, /* CANADIAN SYLLABICS KO */
  {0x1470 , L  }, /* CANADIAN SYLLABICS KOO */
  {0x1471 , L  }, /* CANADIAN SYLLABICS Y-CREE KOO */
  {0x1472 , L  }, /* CANADIAN SYLLABICS KA */
  {0x1473 , L  }, /* CANADIAN SYLLABICS KAA */
  {0x1474 , L  }, /* CANADIAN SYLLABICS KWE */
  {0x1475 , L  }, /* CANADIAN SYLLABICS WEST-CREE KWE */
  {0x1476 , L  }, /* CANADIAN SYLLABICS KWI */
  {0x1477 , L  }, /* CANADIAN SYLLABICS WEST-CREE KWI */
  {0x1478 , L  }, /* CANADIAN SYLLABICS KWII */
  {0x1479 , L  }, /* CANADIAN SYLLABICS WEST-CREE KWII */
  {0x147A , L  }, /* CANADIAN SYLLABICS KWO */
  {0x147B , L  }, /* CANADIAN SYLLABICS WEST-CREE KWO */
  {0x147C , L  }, /* CANADIAN SYLLABICS KWOO */
  {0x147D , L  }, /* CANADIAN SYLLABICS WEST-CREE KWOO */
  {0x147E , L  }, /* CANADIAN SYLLABICS KWA */
  {0x147F , L  }, /* CANADIAN SYLLABICS WEST-CREE KWA */
  {0x1480 , L  }, /* CANADIAN SYLLABICS KWAA */
  {0x1481 , L  }, /* CANADIAN SYLLABICS WEST-CREE KWAA */
  {0x1482 , L  }, /* CANADIAN SYLLABICS NASKAPI KWAA */
  {0x1483 , L  }, /* CANADIAN SYLLABICS K */
  {0x1484 , L  }, /* CANADIAN SYLLABICS KW */
  {0x1485 , L  }, /* CANADIAN SYLLABICS SOUTH-SLAVEY KEH */
  {0x1486 , L  }, /* CANADIAN SYLLABICS SOUTH-SLAVEY KIH */
  {0x1487 , L  }, /* CANADIAN SYLLABICS SOUTH-SLAVEY KOH */
  {0x1488 , L  }, /* CANADIAN SYLLABICS SOUTH-SLAVEY KAH */
  {0x1489 , L  }, /* CANADIAN SYLLABICS CE */
  {0x148A , L  }, /* CANADIAN SYLLABICS CAAI */
  {0x148B , L  }, /* CANADIAN SYLLABICS CI */
  {0x148C , L  }, /* CANADIAN SYLLABICS CII */
  {0x148D , L  }, /* CANADIAN SYLLABICS CO */
  {0x148E , L  }, /* CANADIAN SYLLABICS COO */
  {0x148F , L  }, /* CANADIAN SYLLABICS Y-CREE COO */
  {0x1490 , L  }, /* CANADIAN SYLLABICS CA */
  {0x1491 , L  }, /* CANADIAN SYLLABICS CAA */
  {0x1492 , L  }, /* CANADIAN SYLLABICS CWE */
  {0x1493 , L  }, /* CANADIAN SYLLABICS WEST-CREE CWE */
  {0x1494 , L  }, /* CANADIAN SYLLABICS CWI */
  {0x1495 , L  }, /* CANADIAN SYLLABICS WEST-CREE CWI */
  {0x1496 , L  }, /* CANADIAN SYLLABICS CWII */
  {0x1497 , L  }, /* CANADIAN SYLLABICS WEST-CREE CWII */
  {0x1498 , L  }, /* CANADIAN SYLLABICS CWO */
  {0x1499 , L  }, /* CANADIAN SYLLABICS WEST-CREE CWO */
  {0x149A , L  }, /* CANADIAN SYLLABICS CWOO */
  {0x149B , L  }, /* CANADIAN SYLLABICS WEST-CREE CWOO */
  {0x149C , L  }, /* CANADIAN SYLLABICS CWA */
  {0x149D , L  }, /* CANADIAN SYLLABICS WEST-CREE CWA */
  {0x149E , L  }, /* CANADIAN SYLLABICS CWAA */
  {0x149F , L  }, /* CANADIAN SYLLABICS WEST-CREE CWAA */
  {0x14A0 , L  }, /* CANADIAN SYLLABICS NASKAPI CWAA */
  {0x14A1 , L  }, /* CANADIAN SYLLABICS C */
  {0x14A2 , L  }, /* CANADIAN SYLLABICS SAYISI TH */
  {0x14A3 , L  }, /* CANADIAN SYLLABICS ME */
  {0x14A4 , L  }, /* CANADIAN SYLLABICS MAAI */
  {0x14A5 , L  }, /* CANADIAN SYLLABICS MI */
  {0x14A6 , L  }, /* CANADIAN SYLLABICS MII */
  {0x14A7 , L  }, /* CANADIAN SYLLABICS MO */
  {0x14A8 , L  }, /* CANADIAN SYLLABICS MOO */
  {0x14A9 , L  }, /* CANADIAN SYLLABICS Y-CREE MOO */
  {0x14AA , L  }, /* CANADIAN SYLLABICS MA */
  {0x14AB , L  }, /* CANADIAN SYLLABICS MAA */
  {0x14AC , L  }, /* CANADIAN SYLLABICS MWE */
  {0x14AD , L  }, /* CANADIAN SYLLABICS WEST-CREE MWE */
  {0x14AE , L  }, /* CANADIAN SYLLABICS MWI */
  {0x14AF , L  }, /* CANADIAN SYLLABICS WEST-CREE MWI */
  {0x14B0 , L  }, /* CANADIAN SYLLABICS MWII */
  {0x14B1 , L  }, /* CANADIAN SYLLABICS WEST-CREE MWII */
  {0x14B2 , L  }, /* CANADIAN SYLLABICS MWO */
  {0x14B3 , L  }, /* CANADIAN SYLLABICS WEST-CREE MWO */
  {0x14B4 , L  }, /* CANADIAN SYLLABICS MWOO */
  {0x14B5 , L  }, /* CANADIAN SYLLABICS WEST-CREE MWOO */
  {0x14B6 , L  }, /* CANADIAN SYLLABICS MWA */
  {0x14B7 , L  }, /* CANADIAN SYLLABICS WEST-CREE MWA */
  {0x14B8 , L  }, /* CANADIAN SYLLABICS MWAA */
  {0x14B9 , L  }, /* CANADIAN SYLLABICS WEST-CREE MWAA */
  {0x14BA , L  }, /* CANADIAN SYLLABICS NASKAPI MWAA */
  {0x14BB , L  }, /* CANADIAN SYLLABICS M */
  {0x14BC , L  }, /* CANADIAN SYLLABICS WEST-CREE M */
  {0x14BD , L  }, /* CANADIAN SYLLABICS MH */
  {0x14BE , L  }, /* CANADIAN SYLLABICS ATHAPASCAN M */
  {0x14BF , L  }, /* CANADIAN SYLLABICS SAYISI M */
  {0x14C0 , L  }, /* CANADIAN SYLLABICS NE */
  {0x14C1 , L  }, /* CANADIAN SYLLABICS NAAI */
  {0x14C2 , L  }, /* CANADIAN SYLLABICS NI */
  {0x14C3 , L  }, /* CANADIAN SYLLABICS NII */
  {0x14C4 , L  }, /* CANADIAN SYLLABICS NO */
  {0x14C5 , L  }, /* CANADIAN SYLLABICS NOO */
  {0x14C6 , L  }, /* CANADIAN SYLLABICS Y-CREE NOO */
  {0x14C7 , L  }, /* CANADIAN SYLLABICS NA */
  {0x14C8 , L  }, /* CANADIAN SYLLABICS NAA */
  {0x14C9 , L  }, /* CANADIAN SYLLABICS NWE */
  {0x14CA , L  }, /* CANADIAN SYLLABICS WEST-CREE NWE */
  {0x14CB , L  }, /* CANADIAN SYLLABICS NWA */
  {0x14CC , L  }, /* CANADIAN SYLLABICS WEST-CREE NWA */
  {0x14CD , L  }, /* CANADIAN SYLLABICS NWAA */
  {0x14CE , L  }, /* CANADIAN SYLLABICS WEST-CREE NWAA */
  {0x14CF , L  }, /* CANADIAN SYLLABICS NASKAPI NWAA */
  {0x14D0 , L  }, /* CANADIAN SYLLABICS N */
  {0x14D1 , L  }, /* CANADIAN SYLLABICS CARRIER NG */
  {0x14D2 , L  }, /* CANADIAN SYLLABICS NH */
  {0x14D3 , L  }, /* CANADIAN SYLLABICS LE */
  {0x14D4 , L  }, /* CANADIAN SYLLABICS LAAI */
  {0x14D5 , L  }, /* CANADIAN SYLLABICS LI */
  {0x14D6 , L  }, /* CANADIAN SYLLABICS LII */
  {0x14D7 , L  }, /* CANADIAN SYLLABICS LO */
  {0x14D8 , L  }, /* CANADIAN SYLLABICS LOO */
  {0x14D9 , L  }, /* CANADIAN SYLLABICS Y-CREE LOO */
  {0x14DA , L  }, /* CANADIAN SYLLABICS LA */
  {0x14DB , L  }, /* CANADIAN SYLLABICS LAA */
  {0x14DC , L  }, /* CANADIAN SYLLABICS LWE */
  {0x14DD , L  }, /* CANADIAN SYLLABICS WEST-CREE LWE */
  {0x14DE , L  }, /* CANADIAN SYLLABICS LWI */
  {0x14DF , L  }, /* CANADIAN SYLLABICS WEST-CREE LWI */
  {0x14E0 , L  }, /* CANADIAN SYLLABICS LWII */
  {0x14E1 , L  }, /* CANADIAN SYLLABICS WEST-CREE LWII */
  {0x14E2 , L  }, /* CANADIAN SYLLABICS LWO */
  {0x14E3 , L  }, /* CANADIAN SYLLABICS WEST-CREE LWO */
  {0x14E4 , L  }, /* CANADIAN SYLLABICS LWOO */
  {0x14E5 , L  }, /* CANADIAN SYLLABICS WEST-CREE LWOO */
  {0x14E6 , L  }, /* CANADIAN SYLLABICS LWA */
  {0x14E7 , L  }, /* CANADIAN SYLLABICS WEST-CREE LWA */
  {0x14E8 , L  }, /* CANADIAN SYLLABICS LWAA */
  {0x14E9 , L  }, /* CANADIAN SYLLABICS WEST-CREE LWAA */
  {0x14EA , L  }, /* CANADIAN SYLLABICS L */
  {0x14EB , L  }, /* CANADIAN SYLLABICS WEST-CREE L */
  {0x14EC , L  }, /* CANADIAN SYLLABICS MEDIAL L */
  {0x14ED , L  }, /* CANADIAN SYLLABICS SE */
  {0x14EE , L  }, /* CANADIAN SYLLABICS SAAI */
  {0x14EF , L  }, /* CANADIAN SYLLABICS SI */
  {0x14F0 , L  }, /* CANADIAN SYLLABICS SII */
  {0x14F1 , L  }, /* CANADIAN SYLLABICS SO */
  {0x14F2 , L  }, /* CANADIAN SYLLABICS SOO */
  {0x14F3 , L  }, /* CANADIAN SYLLABICS Y-CREE SOO */
  {0x14F4 , L  }, /* CANADIAN SYLLABICS SA */
  {0x14F5 , L  }, /* CANADIAN SYLLABICS SAA */
  {0x14F6 , L  }, /* CANADIAN SYLLABICS SWE */
  {0x14F7 , L  }, /* CANADIAN SYLLABICS WEST-CREE SWE */
  {0x14F8 , L  }, /* CANADIAN SYLLABICS SWI */
  {0x14F9 , L  }, /* CANADIAN SYLLABICS WEST-CREE SWI */
  {0x14FA , L  }, /* CANADIAN SYLLABICS SWII */
  {0x14FB , L  }, /* CANADIAN SYLLABICS WEST-CREE SWII */
  {0x14FC , L  }, /* CANADIAN SYLLABICS SWO */
  {0x14FD , L  }, /* CANADIAN SYLLABICS WEST-CREE SWO */
  {0x14FE , L  }, /* CANADIAN SYLLABICS SWOO */
  {0x14FF , L  }, /* CANADIAN SYLLABICS WEST-CREE SWOO */
  {0x1500 , L  }, /* CANADIAN SYLLABICS SWA */
  {0x1501 , L  }, /* CANADIAN SYLLABICS WEST-CREE SWA */
  {0x1502 , L  }, /* CANADIAN SYLLABICS SWAA */
  {0x1503 , L  }, /* CANADIAN SYLLABICS WEST-CREE SWAA */
  {0x1504 , L  }, /* CANADIAN SYLLABICS NASKAPI SWAA */
  {0x1505 , L  }, /* CANADIAN SYLLABICS S */
  {0x1506 , L  }, /* CANADIAN SYLLABICS ATHAPASCAN S */
  {0x1507 , L  }, /* CANADIAN SYLLABICS SW */
  {0x1508 , L  }, /* CANADIAN SYLLABICS BLACKFOOT S */
  {0x1509 , L  }, /* CANADIAN SYLLABICS MOOSE-CREE SK */
  {0x150A , L  }, /* CANADIAN SYLLABICS NASKAPI SKW */
  {0x150B , L  }, /* CANADIAN SYLLABICS NASKAPI S-W */
  {0x150C , L  }, /* CANADIAN SYLLABICS NASKAPI SPWA */
  {0x150D , L  }, /* CANADIAN SYLLABICS NASKAPI STWA */
  {0x150E , L  }, /* CANADIAN SYLLABICS NASKAPI SKWA */
  {0x150F , L  }, /* CANADIAN SYLLABICS NASKAPI SCWA */
  {0x1510 , L  }, /* CANADIAN SYLLABICS SHE */
  {0x1511 , L  }, /* CANADIAN SYLLABICS SHI */
  {0x1512 , L  }, /* CANADIAN SYLLABICS SHII */
  {0x1513 , L  }, /* CANADIAN SYLLABICS SHO */
  {0x1514 , L  }, /* CANADIAN SYLLABICS SHOO */
  {0x1515 , L  }, /* CANADIAN SYLLABICS SHA */
  {0x1516 , L  }, /* CANADIAN SYLLABICS SHAA */
  {0x1517 , L  }, /* CANADIAN SYLLABICS SHWE */
  {0x1518 , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWE */
  {0x1519 , L  }, /* CANADIAN SYLLABICS SHWI */
  {0x151A , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWI */
  {0x151B , L  }, /* CANADIAN SYLLABICS SHWII */
  {0x151C , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWII */
  {0x151D , L  }, /* CANADIAN SYLLABICS SHWO */
  {0x151E , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWO */
  {0x151F , L  }, /* CANADIAN SYLLABICS SHWOO */
  {0x1520 , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWOO */
  {0x1521 , L  }, /* CANADIAN SYLLABICS SHWA */
  {0x1522 , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWA */
  {0x1523 , L  }, /* CANADIAN SYLLABICS SHWAA */
  {0x1524 , L  }, /* CANADIAN SYLLABICS WEST-CREE SHWAA */
  {0x1525 , L  }, /* CANADIAN SYLLABICS SH */
  {0x1526 , L  }, /* CANADIAN SYLLABICS YE */
  {0x1527 , L  }, /* CANADIAN SYLLABICS YAAI */
  {0x1528 , L  }, /* CANADIAN SYLLABICS YI */
  {0x1529 , L  }, /* CANADIAN SYLLABICS YII */
  {0x152A , L  }, /* CANADIAN SYLLABICS YO */
  {0x152B , L  }, /* CANADIAN SYLLABICS YOO */
  {0x152C , L  }, /* CANADIAN SYLLABICS Y-CREE YOO */
  {0x152D , L  }, /* CANADIAN SYLLABICS YA */
  {0x152E , L  }, /* CANADIAN SYLLABICS YAA */
  {0x152F , L  }, /* CANADIAN SYLLABICS YWE */
  {0x1530 , L  }, /* CANADIAN SYLLABICS WEST-CREE YWE */
  {0x1531 , L  }, /* CANADIAN SYLLABICS YWI */
  {0x1532 , L  }, /* CANADIAN SYLLABICS WEST-CREE YWI */
  {0x1533 , L  }, /* CANADIAN SYLLABICS YWII */
  {0x1534 , L  }, /* CANADIAN SYLLABICS WEST-CREE YWII */
  {0x1535 , L  }, /* CANADIAN SYLLABICS YWO */
  {0x1536 , L  }, /* CANADIAN SYLLABICS WEST-CREE YWO */
  {0x1537 , L  }, /* CANADIAN SYLLABICS YWOO */
  {0x1538 , L  }, /* CANADIAN SYLLABICS WEST-CREE YWOO */
  {0x1539 , L  }, /* CANADIAN SYLLABICS YWA */
  {0x153A , L  }, /* CANADIAN SYLLABICS WEST-CREE YWA */
  {0x153B , L  }, /* CANADIAN SYLLABICS YWAA */
  {0x153C , L  }, /* CANADIAN SYLLABICS WEST-CREE YWAA */
  {0x153D , L  }, /* CANADIAN SYLLABICS NASKAPI YWAA */
  {0x153E , L  }, /* CANADIAN SYLLABICS Y */
  {0x153F , L  }, /* CANADIAN SYLLABICS BIBLE-CREE Y */
  {0x1540 , L  }, /* CANADIAN SYLLABICS WEST-CREE Y */
  {0x1541 , L  }, /* CANADIAN SYLLABICS SAYISI YI */
  {0x1542 , L  }, /* CANADIAN SYLLABICS RE */
  {0x1543 , L  }, /* CANADIAN SYLLABICS R-CREE RE */
  {0x1544 , L  }, /* CANADIAN SYLLABICS WEST-CREE LE */
  {0x1545 , L  }, /* CANADIAN SYLLABICS RAAI */
  {0x1546 , L  }, /* CANADIAN SYLLABICS RI */
  {0x1547 , L  }, /* CANADIAN SYLLABICS RII */
  {0x1548 , L  }, /* CANADIAN SYLLABICS RO */
  {0x1549 , L  }, /* CANADIAN SYLLABICS ROO */
  {0x154A , L  }, /* CANADIAN SYLLABICS WEST-CREE LO */
  {0x154B , L  }, /* CANADIAN SYLLABICS RA */
  {0x154C , L  }, /* CANADIAN SYLLABICS RAA */
  {0x154D , L  }, /* CANADIAN SYLLABICS WEST-CREE LA */
  {0x154E , L  }, /* CANADIAN SYLLABICS RWAA */
  {0x154F , L  }, /* CANADIAN SYLLABICS WEST-CREE RWAA */
  {0x1550 , L  }, /* CANADIAN SYLLABICS R */
  {0x1551 , L  }, /* CANADIAN SYLLABICS WEST-CREE R */
  {0x1552 , L  }, /* CANADIAN SYLLABICS MEDIAL R */
  {0x1553 , L  }, /* CANADIAN SYLLABICS FE */
  {0x1554 , L  }, /* CANADIAN SYLLABICS FAAI */
  {0x1555 , L  }, /* CANADIAN SYLLABICS FI */
  {0x1556 , L  }, /* CANADIAN SYLLABICS FII */
  {0x1557 , L  }, /* CANADIAN SYLLABICS FO */
  {0x1558 , L  }, /* CANADIAN SYLLABICS FOO */
  {0x1559 , L  }, /* CANADIAN SYLLABICS FA */
  {0x155A , L  }, /* CANADIAN SYLLABICS FAA */
  {0x155B , L  }, /* CANADIAN SYLLABICS FWAA */
  {0x155C , L  }, /* CANADIAN SYLLABICS WEST-CREE FWAA */
  {0x155D , L  }, /* CANADIAN SYLLABICS F */
  {0x155E , L  }, /* CANADIAN SYLLABICS THE */
  {0x155F , L  }, /* CANADIAN SYLLABICS N-CREE THE */
  {0x1560 , L  }, /* CANADIAN SYLLABICS THI */
  {0x1561 , L  }, /* CANADIAN SYLLABICS N-CREE THI */
  {0x1562 , L  }, /* CANADIAN SYLLABICS THII */
  {0x1563 , L  }, /* CANADIAN SYLLABICS N-CREE THII */
  {0x1564 , L  }, /* CANADIAN SYLLABICS THO */
  {0x1565 , L  }, /* CANADIAN SYLLABICS THOO */
  {0x1566 , L  }, /* CANADIAN SYLLABICS THA */
  {0x1567 , L  }, /* CANADIAN SYLLABICS THAA */
  {0x1568 , L  }, /* CANADIAN SYLLABICS THWAA */
  {0x1569 , L  }, /* CANADIAN SYLLABICS WEST-CREE THWAA */
  {0x156A , L  }, /* CANADIAN SYLLABICS TH */
  {0x156B , L  }, /* CANADIAN SYLLABICS TTHE */
  {0x156C , L  }, /* CANADIAN SYLLABICS TTHI */
  {0x156D , L  }, /* CANADIAN SYLLABICS TTHO */
  {0x156E , L  }, /* CANADIAN SYLLABICS TTHA */
  {0x156F , L  }, /* CANADIAN SYLLABICS TTH */
  {0x1570 , L  }, /* CANADIAN SYLLABICS TYE */
  {0x1571 , L  }, /* CANADIAN SYLLABICS TYI */
  {0x1572 , L  }, /* CANADIAN SYLLABICS TYO */
  {0x1573 , L  }, /* CANADIAN SYLLABICS TYA */
  {0x1574 , L  }, /* CANADIAN SYLLABICS NUNAVIK HE */
  {0x1575 , L  }, /* CANADIAN SYLLABICS NUNAVIK HI */
  {0x1576 , L  }, /* CANADIAN SYLLABICS NUNAVIK HII */
  {0x1577 , L  }, /* CANADIAN SYLLABICS NUNAVIK HO */
  {0x1578 , L  }, /* CANADIAN SYLLABICS NUNAVIK HOO */
  {0x1579 , L  }, /* CANADIAN SYLLABICS NUNAVIK HA */
  {0x157A , L  }, /* CANADIAN SYLLABICS NUNAVIK HAA */
  {0x157B , L  }, /* CANADIAN SYLLABICS NUNAVIK H */
  {0x157C , L  }, /* CANADIAN SYLLABICS NUNAVUT H */
  {0x157D , L  }, /* CANADIAN SYLLABICS HK */
  {0x157E , L  }, /* CANADIAN SYLLABICS QAAI */
  {0x157F , L  }, /* CANADIAN SYLLABICS QI */
  {0x1580 , L  }, /* CANADIAN SYLLABICS QII */
  {0x1581 , L  }, /* CANADIAN SYLLABICS QO */
  {0x1582 , L  }, /* CANADIAN SYLLABICS QOO */
  {0x1583 , L  }, /* CANADIAN SYLLABICS QA */
  {0x1584 , L  }, /* CANADIAN SYLLABICS QAA */
  {0x1585 , L  }, /* CANADIAN SYLLABICS Q */
  {0x1586 , L  }, /* CANADIAN SYLLABICS TLHE */
  {0x1587 , L  }, /* CANADIAN SYLLABICS TLHI */
  {0x1588 , L  }, /* CANADIAN SYLLABICS TLHO */
  {0x1589 , L  }, /* CANADIAN SYLLABICS TLHA */
  {0x158A , L  }, /* CANADIAN SYLLABICS WEST-CREE RE */
  {0x158B , L  }, /* CANADIAN SYLLABICS WEST-CREE RI */
  {0x158C , L  }, /* CANADIAN SYLLABICS WEST-CREE RO */
  {0x158D , L  }, /* CANADIAN SYLLABICS WEST-CREE RA */
  {0x158E , L  }, /* CANADIAN SYLLABICS NGAAI */
  {0x158F , L  }, /* CANADIAN SYLLABICS NGI */
  {0x1590 , L  }, /* CANADIAN SYLLABICS NGII */
  {0x1591 , L  }, /* CANADIAN SYLLABICS NGO */
  {0x1592 , L  }, /* CANADIAN SYLLABICS NGOO */
  {0x1593 , L  }, /* CANADIAN SYLLABICS NGA */
  {0x1594 , L  }, /* CANADIAN SYLLABICS NGAA */
  {0x1595 , L  }, /* CANADIAN SYLLABICS NG */
  {0x1596 , L  }, /* CANADIAN SYLLABICS NNG */
  {0x1597 , L  }, /* CANADIAN SYLLABICS SAYISI SHE */
  {0x1598 , L  }, /* CANADIAN SYLLABICS SAYISI SHI */
  {0x1599 , L  }, /* CANADIAN SYLLABICS SAYISI SHO */
  {0x159A , L  }, /* CANADIAN SYLLABICS SAYISI SHA */
  {0x159B , L  }, /* CANADIAN SYLLABICS WOODS-CREE THE */
  {0x159C , L  }, /* CANADIAN SYLLABICS WOODS-CREE THI */
  {0x159D , L  }, /* CANADIAN SYLLABICS WOODS-CREE THO */
  {0x159E , L  }, /* CANADIAN SYLLABICS WOODS-CREE THA */
  {0x159F , L  }, /* CANADIAN SYLLABICS WOODS-CREE TH */
  {0x15A0 , L  }, /* CANADIAN SYLLABICS LHI */
  {0x15A1 , L  }, /* CANADIAN SYLLABICS LHII */
  {0x15A2 , L  }, /* CANADIAN SYLLABICS LHO */
  {0x15A3 , L  }, /* CANADIAN SYLLABICS LHOO */
  {0x15A4 , L  }, /* CANADIAN SYLLABICS LHA */
  {0x15A5 , L  }, /* CANADIAN SYLLABICS LHAA */
  {0x15A6 , L  }, /* CANADIAN SYLLABICS LH */
  {0x15A7 , L  }, /* CANADIAN SYLLABICS TH-CREE THE */
  {0x15A8 , L  }, /* CANADIAN SYLLABICS TH-CREE THI */
  {0x15A9 , L  }, /* CANADIAN SYLLABICS TH-CREE THII */
  {0x15AA , L  }, /* CANADIAN SYLLABICS TH-CREE THO */
  {0x15AB , L  }, /* CANADIAN SYLLABICS TH-CREE THOO */
  {0x15AC , L  }, /* CANADIAN SYLLABICS TH-CREE THA */
  {0x15AD , L  }, /* CANADIAN SYLLABICS TH-CREE THAA */
  {0x15AE , L  }, /* CANADIAN SYLLABICS TH-CREE TH */
  {0x15AF , L  }, /* CANADIAN SYLLABICS AIVILIK B */
  {0x15B0 , L  }, /* CANADIAN SYLLABICS BLACKFOOT E */
  {0x15B1 , L  }, /* CANADIAN SYLLABICS BLACKFOOT I */
  {0x15B2 , L  }, /* CANADIAN SYLLABICS BLACKFOOT O */
  {0x15B3 , L  }, /* CANADIAN SYLLABICS BLACKFOOT A */
  {0x15B4 , L  }, /* CANADIAN SYLLABICS BLACKFOOT WE */
  {0x15B5 , L  }, /* CANADIAN SYLLABICS BLACKFOOT WI */
  {0x15B6 , L  }, /* CANADIAN SYLLABICS BLACKFOOT WO */
  {0x15B7 , L  }, /* CANADIAN SYLLABICS BLACKFOOT WA */
  {0x15B8 , L  }, /* CANADIAN SYLLABICS BLACKFOOT NE */
  {0x15B9 , L  }, /* CANADIAN SYLLABICS BLACKFOOT NI */
  {0x15BA , L  }, /* CANADIAN SYLLABICS BLACKFOOT NO */
  {0x15BB , L  }, /* CANADIAN SYLLABICS BLACKFOOT NA */
  {0x15BC , L  }, /* CANADIAN SYLLABICS BLACKFOOT KE */
  {0x15BD , L  }, /* CANADIAN SYLLABICS BLACKFOOT KI */
  {0x15BE , L  }, /* CANADIAN SYLLABICS BLACKFOOT KO */
  {0x15BF , L  }, /* CANADIAN SYLLABICS BLACKFOOT KA */
  {0x15C0 , L  }, /* CANADIAN SYLLABICS SAYISI HE */
  {0x15C1 , L  }, /* CANADIAN SYLLABICS SAYISI HI */
  {0x15C2 , L  }, /* CANADIAN SYLLABICS SAYISI HO */
  {0x15C3 , L  }, /* CANADIAN SYLLABICS SAYISI HA */
  {0x15C4 , L  }, /* CANADIAN SYLLABICS CARRIER GHU */
  {0x15C5 , L  }, /* CANADIAN SYLLABICS CARRIER GHO */
  {0x15C6 , L  }, /* CANADIAN SYLLABICS CARRIER GHE */
  {0x15C7 , L  }, /* CANADIAN SYLLABICS CARRIER GHEE */
  {0x15C8 , L  }, /* CANADIAN SYLLABICS CARRIER GHI */
  {0x15C9 , L  }, /* CANADIAN SYLLABICS CARRIER GHA */
  {0x15CA , L  }, /* CANADIAN SYLLABICS CARRIER RU */
  {0x15CB , L  }, /* CANADIAN SYLLABICS CARRIER RO */
  {0x15CC , L  }, /* CANADIAN SYLLABICS CARRIER RE */
  {0x15CD , L  }, /* CANADIAN SYLLABICS CARRIER REE */
  {0x15CE , L  }, /* CANADIAN SYLLABICS CARRIER RI */
  {0x15CF , L  }, /* CANADIAN SYLLABICS CARRIER RA */
  {0x15D0 , L  }, /* CANADIAN SYLLABICS CARRIER WU */
  {0x15D1 , L  }, /* CANADIAN SYLLABICS CARRIER WO */
  {0x15D2 , L  }, /* CANADIAN SYLLABICS CARRIER WE */
  {0x15D3 , L  }, /* CANADIAN SYLLABICS CARRIER WEE */
  {0x15D4 , L  }, /* CANADIAN SYLLABICS CARRIER WI */
  {0x15D5 , L  }, /* CANADIAN SYLLABICS CARRIER WA */
  {0x15D6 , L  }, /* CANADIAN SYLLABICS CARRIER HWU */
  {0x15D7 , L  }, /* CANADIAN SYLLABICS CARRIER HWO */
  {0x15D8 , L  }, /* CANADIAN SYLLABICS CARRIER HWE */
  {0x15D9 , L  }, /* CANADIAN SYLLABICS CARRIER HWEE */
  {0x15DA , L  }, /* CANADIAN SYLLABICS CARRIER HWI */
  {0x15DB , L  }, /* CANADIAN SYLLABICS CARRIER HWA */
  {0x15DC , L  }, /* CANADIAN SYLLABICS CARRIER THU */
  {0x15DD , L  }, /* CANADIAN SYLLABICS CARRIER THO */
  {0x15DE , L  }, /* CANADIAN SYLLABICS CARRIER THE */
  {0x15DF , L  }, /* CANADIAN SYLLABICS CARRIER THEE */
  {0x15E0 , L  }, /* CANADIAN SYLLABICS CARRIER THI */
  {0x15E1 , L  }, /* CANADIAN SYLLABICS CARRIER THA */
  {0x15E2 , L  }, /* CANADIAN SYLLABICS CARRIER TTU */
  {0x15E3 , L  }, /* CANADIAN SYLLABICS CARRIER TTO */
  {0x15E4 , L  }, /* CANADIAN SYLLABICS CARRIER TTE */
  {0x15E5 , L  }, /* CANADIAN SYLLABICS CARRIER TTEE */
  {0x15E6 , L  }, /* CANADIAN SYLLABICS CARRIER TTI */
  {0x15E7 , L  }, /* CANADIAN SYLLABICS CARRIER TTA */
  {0x15E8 , L  }, /* CANADIAN SYLLABICS CARRIER PU */
  {0x15E9 , L  }, /* CANADIAN SYLLABICS CARRIER PO */
  {0x15EA , L  }, /* CANADIAN SYLLABICS CARRIER PE */
  {0x15EB , L  }, /* CANADIAN SYLLABICS CARRIER PEE */
  {0x15EC , L  }, /* CANADIAN SYLLABICS CARRIER PI */
  {0x15ED , L  }, /* CANADIAN SYLLABICS CARRIER PA */
  {0x15EE , L  }, /* CANADIAN SYLLABICS CARRIER P */
  {0x15EF , L  }, /* CANADIAN SYLLABICS CARRIER GU */
  {0x15F0 , L  }, /* CANADIAN SYLLABICS CARRIER GO */
  {0x15F1 , L  }, /* CANADIAN SYLLABICS CARRIER GE */
  {0x15F2 , L  }, /* CANADIAN SYLLABICS CARRIER GEE */
  {0x15F3 , L  }, /* CANADIAN SYLLABICS CARRIER GI */
  {0x15F4 , L  }, /* CANADIAN SYLLABICS CARRIER GA */
  {0x15F5 , L  }, /* CANADIAN SYLLABICS CARRIER KHU */
  {0x15F6 , L  }, /* CANADIAN SYLLABICS CARRIER KHO */
  {0x15F7 , L  }, /* CANADIAN SYLLABICS CARRIER KHE */
  {0x15F8 , L  }, /* CANADIAN SYLLABICS CARRIER KHEE */
  {0x15F9 , L  }, /* CANADIAN SYLLABICS CARRIER KHI */
  {0x15FA , L  }, /* CANADIAN SYLLABICS CARRIER KHA */
  {0x15FB , L  }, /* CANADIAN SYLLABICS CARRIER KKU */
  {0x15FC , L  }, /* CANADIAN SYLLABICS CARRIER KKO */
  {0x15FD , L  }, /* CANADIAN SYLLABICS CARRIER KKE */
  {0x15FE , L  }, /* CANADIAN SYLLABICS CARRIER KKEE */
  {0x15FF , L  }, /* CANADIAN SYLLABICS CARRIER KKI */
  {0x1600 , L  }, /* CANADIAN SYLLABICS CARRIER KKA */
  {0x1601 , L  }, /* CANADIAN SYLLABICS CARRIER KK */
  {0x1602 , L  }, /* CANADIAN SYLLABICS CARRIER NU */
  {0x1603 , L  }, /* CANADIAN SYLLABICS CARRIER NO */
  {0x1604 , L  }, /* CANADIAN SYLLABICS CARRIER NE */
  {0x1605 , L  }, /* CANADIAN SYLLABICS CARRIER NEE */
  {0x1606 , L  }, /* CANADIAN SYLLABICS CARRIER NI */
  {0x1607 , L  }, /* CANADIAN SYLLABICS CARRIER NA */
  {0x1608 , L  }, /* CANADIAN SYLLABICS CARRIER MU */
  {0x1609 , L  }, /* CANADIAN SYLLABICS CARRIER MO */
  {0x160A , L  }, /* CANADIAN SYLLABICS CARRIER ME */
  {0x160B , L  }, /* CANADIAN SYLLABICS CARRIER MEE */
  {0x160C , L  }, /* CANADIAN SYLLABICS CARRIER MI */
  {0x160D , L  }, /* CANADIAN SYLLABICS CARRIER MA */
  {0x160E , L  }, /* CANADIAN SYLLABICS CARRIER YU */
  {0x160F , L  }, /* CANADIAN SYLLABICS CARRIER YO */
  {0x1610 , L  }, /* CANADIAN SYLLABICS CARRIER YE */
  {0x1611 , L  }, /* CANADIAN SYLLABICS CARRIER YEE */
  {0x1612 , L  }, /* CANADIAN SYLLABICS CARRIER YI */
  {0x1613 , L  }, /* CANADIAN SYLLABICS CARRIER YA */
  {0x1614 , L  }, /* CANADIAN SYLLABICS CARRIER JU */
  {0x1615 , L  }, /* CANADIAN SYLLABICS SAYISI JU */
  {0x1616 , L  }, /* CANADIAN SYLLABICS CARRIER JO */
  {0x1617 , L  }, /* CANADIAN SYLLABICS CARRIER JE */
  {0x1618 , L  }, /* CANADIAN SYLLABICS CARRIER JEE */
  {0x1619 , L  }, /* CANADIAN SYLLABICS CARRIER JI */
  {0x161A , L  }, /* CANADIAN SYLLABICS SAYISI JI */
  {0x161B , L  }, /* CANADIAN SYLLABICS CARRIER JA */
  {0x161C , L  }, /* CANADIAN SYLLABICS CARRIER JJU */
  {0x161D , L  }, /* CANADIAN SYLLABICS CARRIER JJO */
  {0x161E , L  }, /* CANADIAN SYLLABICS CARRIER JJE */
  {0x161F , L  }, /* CANADIAN SYLLABICS CARRIER JJEE */
  {0x1620 , L  }, /* CANADIAN SYLLABICS CARRIER JJI */
  {0x1621 , L  }, /* CANADIAN SYLLABICS CARRIER JJA */
  {0x1622 , L  }, /* CANADIAN SYLLABICS CARRIER LU */
  {0x1623 , L  }, /* CANADIAN SYLLABICS CARRIER LO */
  {0x1624 , L  }, /* CANADIAN SYLLABICS CARRIER LE */
  {0x1625 , L  }, /* CANADIAN SYLLABICS CARRIER LEE */
  {0x1626 , L  }, /* CANADIAN SYLLABICS CARRIER LI */
  {0x1627 , L  }, /* CANADIAN SYLLABICS CARRIER LA */
  {0x1628 , L  }, /* CANADIAN SYLLABICS CARRIER DLU */
  {0x1629 , L  }, /* CANADIAN SYLLABICS CARRIER DLO */
  {0x162A , L  }, /* CANADIAN SYLLABICS CARRIER DLE */
  {0x162B , L  }, /* CANADIAN SYLLABICS CARRIER DLEE */
  {0x162C , L  }, /* CANADIAN SYLLABICS CARRIER DLI */
  {0x162D , L  }, /* CANADIAN SYLLABICS CARRIER DLA */
  {0x162E , L  }, /* CANADIAN SYLLABICS CARRIER LHU */
  {0x162F , L  }, /* CANADIAN SYLLABICS CARRIER LHO */
  {0x1630 , L  }, /* CANADIAN SYLLABICS CARRIER LHE */
  {0x1631 , L  }, /* CANADIAN SYLLABICS CARRIER LHEE */
  {0x1632 , L  }, /* CANADIAN SYLLABICS CARRIER LHI */
  {0x1633 , L  }, /* CANADIAN SYLLABICS CARRIER LHA */
  {0x1634 , L  }, /* CANADIAN SYLLABICS CARRIER TLHU */
  {0x1635 , L  }, /* CANADIAN SYLLABICS CARRIER TLHO */
  {0x1636 , L  }, /* CANADIAN SYLLABICS CARRIER TLHE */
  {0x1637 , L  }, /* CANADIAN SYLLABICS CARRIER TLHEE */
  {0x1638 , L  }, /* CANADIAN SYLLABICS CARRIER TLHI */
  {0x1639 , L  }, /* CANADIAN SYLLABICS CARRIER TLHA */
  {0x163A , L  }, /* CANADIAN SYLLABICS CARRIER TLU */
  {0x163B , L  }, /* CANADIAN SYLLABICS CARRIER TLO */
  {0x163C , L  }, /* CANADIAN SYLLABICS CARRIER TLE */
  {0x163D , L  }, /* CANADIAN SYLLABICS CARRIER TLEE */
  {0x163E , L  }, /* CANADIAN SYLLABICS CARRIER TLI */
  {0x163F , L  }, /* CANADIAN SYLLABICS CARRIER TLA */
  {0x1640 , L  }, /* CANADIAN SYLLABICS CARRIER ZU */
  {0x1641 , L  }, /* CANADIAN SYLLABICS CARRIER ZO */
  {0x1642 , L  }, /* CANADIAN SYLLABICS CARRIER ZE */
  {0x1643 , L  }, /* CANADIAN SYLLABICS CARRIER ZEE */
  {0x1644 , L  }, /* CANADIAN SYLLABICS CARRIER ZI */
  {0x1645 , L  }, /* CANADIAN SYLLABICS CARRIER ZA */
  {0x1646 , L  }, /* CANADIAN SYLLABICS CARRIER Z */
  {0x1647 , L  }, /* CANADIAN SYLLABICS CARRIER INITIAL Z */
  {0x1648 , L  }, /* CANADIAN SYLLABICS CARRIER DZU */
  {0x1649 , L  }, /* CANADIAN SYLLABICS CARRIER DZO */
  {0x164A , L  }, /* CANADIAN SYLLABICS CARRIER DZE */
  {0x164B , L  }, /* CANADIAN SYLLABICS CARRIER DZEE */
  {0x164C , L  }, /* CANADIAN SYLLABICS CARRIER DZI */
  {0x164D , L  }, /* CANADIAN SYLLABICS CARRIER DZA */
  {0x164E , L  }, /* CANADIAN SYLLABICS CARRIER SU */
  {0x164F , L  }, /* CANADIAN SYLLABICS CARRIER SO */
  {0x1650 , L  }, /* CANADIAN SYLLABICS CARRIER SE */
  {0x1651 , L  }, /* CANADIAN SYLLABICS CARRIER SEE */
  {0x1652 , L  }, /* CANADIAN SYLLABICS CARRIER SI */
  {0x1653 , L  }, /* CANADIAN SYLLABICS CARRIER SA */
  {0x1654 , L  }, /* CANADIAN SYLLABICS CARRIER SHU */
  {0x1655 , L  }, /* CANADIAN SYLLABICS CARRIER SHO */
  {0x1656 , L  }, /* CANADIAN SYLLABICS CARRIER SHE */
  {0x1657 , L  }, /* CANADIAN SYLLABICS CARRIER SHEE */
  {0x1658 , L  }, /* CANADIAN SYLLABICS CARRIER SHI */
  {0x1659 , L  }, /* CANADIAN SYLLABICS CARRIER SHA */
  {0x165A , L  }, /* CANADIAN SYLLABICS CARRIER SH */
  {0x165B , L  }, /* CANADIAN SYLLABICS CARRIER TSU */
  {0x165C , L  }, /* CANADIAN SYLLABICS CARRIER TSO */
  {0x165D , L  }, /* CANADIAN SYLLABICS CARRIER TSE */
  {0x165E , L  }, /* CANADIAN SYLLABICS CARRIER TSEE */
  {0x165F , L  }, /* CANADIAN SYLLABICS CARRIER TSI */
  {0x1660 , L  }, /* CANADIAN SYLLABICS CARRIER TSA */
  {0x1661 , L  }, /* CANADIAN SYLLABICS CARRIER CHU */
  {0x1662 , L  }, /* CANADIAN SYLLABICS CARRIER CHO */
  {0x1663 , L  }, /* CANADIAN SYLLABICS CARRIER CHE */
  {0x1664 , L  }, /* CANADIAN SYLLABICS CARRIER CHEE */
  {0x1665 , L  }, /* CANADIAN SYLLABICS CARRIER CHI */
  {0x1666 , L  }, /* CANADIAN SYLLABICS CARRIER CHA */
  {0x1667 , L  }, /* CANADIAN SYLLABICS CARRIER TTSU */
  {0x1668 , L  }, /* CANADIAN SYLLABICS CARRIER TTSO */
  {0x1669 , L  }, /* CANADIAN SYLLABICS CARRIER TTSE */
  {0x166A , L  }, /* CANADIAN SYLLABICS CARRIER TTSEE */
  {0x166B , L  }, /* CANADIAN SYLLABICS CARRIER TTSI */
  {0x166C , L  }, /* CANADIAN SYLLABICS CARRIER TTSA */
  {0x166D , L  }, /* CANADIAN SYLLABICS CHI SIGN */
  {0x166E , L  }, /* CANADIAN SYLLABICS FULL STOP */
  {0x166F , L  }, /* CANADIAN SYLLABICS QAI */
  {0x1670 , L  }, /* CANADIAN SYLLABICS NGAI */
  {0x1671 , L  }, /* CANADIAN SYLLABICS NNGI */
  {0x1672 , L  }, /* CANADIAN SYLLABICS NNGII */
  {0x1673 , L  }, /* CANADIAN SYLLABICS NNGO */
  {0x1674 , L  }, /* CANADIAN SYLLABICS NNGOO */
  {0x1675 , L  }, /* CANADIAN SYLLABICS NNGA */
  {0x1676 , L  }, /* CANADIAN SYLLABICS NNGAA */
  {0x1680 , WS }, /* OGHAM SPACE MARK */
  {0x1681 , L  }, /* OGHAM LETTER BEITH */
  {0x1682 , L  }, /* OGHAM LETTER LUIS */
  {0x1683 , L  }, /* OGHAM LETTER FEARN */
  {0x1684 , L  }, /* OGHAM LETTER SAIL */
  {0x1685 , L  }, /* OGHAM LETTER NION */
  {0x1686 , L  }, /* OGHAM LETTER UATH */
  {0x1687 , L  }, /* OGHAM LETTER DAIR */
  {0x1688 , L  }, /* OGHAM LETTER TINNE */
  {0x1689 , L  }, /* OGHAM LETTER COLL */
  {0x168A , L  }, /* OGHAM LETTER CEIRT */
  {0x168B , L  }, /* OGHAM LETTER MUIN */
  {0x168C , L  }, /* OGHAM LETTER GORT */
  {0x168D , L  }, /* OGHAM LETTER NGEADAL */
  {0x168E , L  }, /* OGHAM LETTER STRAIF */
  {0x168F , L  }, /* OGHAM LETTER RUIS */
  {0x1690 , L  }, /* OGHAM LETTER AILM */
  {0x1691 , L  }, /* OGHAM LETTER ONN */
  {0x1692 , L  }, /* OGHAM LETTER UR */
  {0x1693 , L  }, /* OGHAM LETTER EADHADH */
  {0x1694 , L  }, /* OGHAM LETTER IODHADH */
  {0x1695 , L  }, /* OGHAM LETTER EABHADH */
  {0x1696 , L  }, /* OGHAM LETTER OR */
  {0x1697 , L  }, /* OGHAM LETTER UILLEANN */
  {0x1698 , L  }, /* OGHAM LETTER IFIN */
  {0x1699 , L  }, /* OGHAM LETTER EAMHANCHOLL */
  {0x169A , L  }, /* OGHAM LETTER PEITH */
  {0x169B , ON }, /* OGHAM FEATHER MARK */
  {0x169C , ON }, /* OGHAM REVERSED FEATHER MARK */
  {0x16A0 , L  }, /* RUNIC LETTER FEHU FEOH FE F */
  {0x16A1 , L  }, /* RUNIC LETTER V */
  {0x16A2 , L  }, /* RUNIC LETTER URUZ UR U */
  {0x16A3 , L  }, /* RUNIC LETTER YR */
  {0x16A4 , L  }, /* RUNIC LETTER Y */
  {0x16A5 , L  }, /* RUNIC LETTER W */
  {0x16A6 , L  }, /* RUNIC LETTER THURISAZ THURS THORN */
  {0x16A7 , L  }, /* RUNIC LETTER ETH */
  {0x16A8 , L  }, /* RUNIC LETTER ANSUZ A */
  {0x16A9 , L  }, /* RUNIC LETTER OS O */
  {0x16AA , L  }, /* RUNIC LETTER AC A */
  {0x16AB , L  }, /* RUNIC LETTER AESC */
  {0x16AC , L  }, /* RUNIC LETTER LONG-BRANCH-OSS O */
  {0x16AD , L  }, /* RUNIC LETTER SHORT-TWIG-OSS O */
  {0x16AE , L  }, /* RUNIC LETTER O */
  {0x16AF , L  }, /* RUNIC LETTER OE */
  {0x16B0 , L  }, /* RUNIC LETTER ON */
  {0x16B1 , L  }, /* RUNIC LETTER RAIDO RAD REID R */
  {0x16B2 , L  }, /* RUNIC LETTER KAUNA */
  {0x16B3 , L  }, /* RUNIC LETTER CEN */
  {0x16B4 , L  }, /* RUNIC LETTER KAUN K */
  {0x16B5 , L  }, /* RUNIC LETTER G */
  {0x16B6 , L  }, /* RUNIC LETTER ENG */
  {0x16B7 , L  }, /* RUNIC LETTER GEBO GYFU G */
  {0x16B8 , L  }, /* RUNIC LETTER GAR */
  {0x16B9 , L  }, /* RUNIC LETTER WUNJO WYNN W */
  {0x16BA , L  }, /* RUNIC LETTER HAGLAZ H */
  {0x16BB , L  }, /* RUNIC LETTER HAEGL H */
  {0x16BC , L  }, /* RUNIC LETTER LONG-BRANCH-HAGALL H */
  {0x16BD , L  }, /* RUNIC LETTER SHORT-TWIG-HAGALL H */
  {0x16BE , L  }, /* RUNIC LETTER NAUDIZ NYD NAUD N */
  {0x16BF , L  }, /* RUNIC LETTER SHORT-TWIG-NAUD N */
  {0x16C0 , L  }, /* RUNIC LETTER DOTTED-N */
  {0x16C1 , L  }, /* RUNIC LETTER ISAZ IS ISS I */
  {0x16C2 , L  }, /* RUNIC LETTER E */
  {0x16C3 , L  }, /* RUNIC LETTER JERAN J */
  {0x16C4 , L  }, /* RUNIC LETTER GER */
  {0x16C5 , L  }, /* RUNIC LETTER LONG-BRANCH-AR AE */
  {0x16C6 , L  }, /* RUNIC LETTER SHORT-TWIG-AR A */
  {0x16C7 , L  }, /* RUNIC LETTER IWAZ EOH */
  {0x16C8 , L  }, /* RUNIC LETTER PERTHO PEORTH P */
  {0x16C9 , L  }, /* RUNIC LETTER ALGIZ EOLHX */
  {0x16CA , L  }, /* RUNIC LETTER SOWILO S */
  {0x16CB , L  }, /* RUNIC LETTER SIGEL LONG-BRANCH-SOL S */
  {0x16CC , L  }, /* RUNIC LETTER SHORT-TWIG-SOL S */
  {0x16CD , L  }, /* RUNIC LETTER C */
  {0x16CE , L  }, /* RUNIC LETTER Z */
  {0x16CF , L  }, /* RUNIC LETTER TIWAZ TIR TYR T */
  {0x16D0 , L  }, /* RUNIC LETTER SHORT-TWIG-TYR T */
  {0x16D1 , L  }, /* RUNIC LETTER D */
  {0x16D2 , L  }, /* RUNIC LETTER BERKANAN BEORC BJARKAN B */
  {0x16D3 , L  }, /* RUNIC LETTER SHORT-TWIG-BJARKAN B */
  {0x16D4 , L  }, /* RUNIC LETTER DOTTED-P */
  {0x16D5 , L  }, /* RUNIC LETTER OPEN-P */
  {0x16D6 , L  }, /* RUNIC LETTER EHWAZ EH E */
  {0x16D7 , L  }, /* RUNIC LETTER MANNAZ MAN M */
  {0x16D8 , L  }, /* RUNIC LETTER LONG-BRANCH-MADR M */
  {0x16D9 , L  }, /* RUNIC LETTER SHORT-TWIG-MADR M */
  {0x16DA , L  }, /* RUNIC LETTER LAUKAZ LAGU LOGR L */
  {0x16DB , L  }, /* RUNIC LETTER DOTTED-L */
  {0x16DC , L  }, /* RUNIC LETTER INGWAZ */
  {0x16DD , L  }, /* RUNIC LETTER ING */
  {0x16DE , L  }, /* RUNIC LETTER DAGAZ DAEG D */
  {0x16DF , L  }, /* RUNIC LETTER OTHALAN ETHEL O */
  {0x16E0 , L  }, /* RUNIC LETTER EAR */
  {0x16E1 , L  }, /* RUNIC LETTER IOR */
  {0x16E2 , L  }, /* RUNIC LETTER CWEORTH */
  {0x16E3 , L  }, /* RUNIC LETTER CALC */
  {0x16E4 , L  }, /* RUNIC LETTER CEALC */
  {0x16E5 , L  }, /* RUNIC LETTER STAN */
  {0x16E6 , L  }, /* RUNIC LETTER LONG-BRANCH-YR */
  {0x16E7 , L  }, /* RUNIC LETTER SHORT-TWIG-YR */
  {0x16E8 , L  }, /* RUNIC LETTER ICELANDIC-YR */
  {0x16E9 , L  }, /* RUNIC LETTER Q */
  {0x16EA , L  }, /* RUNIC LETTER X */
  {0x16EB , L  }, /* RUNIC SINGLE PUNCTUATION */
  {0x16EC , L  }, /* RUNIC MULTIPLE PUNCTUATION */
  {0x16ED , L  }, /* RUNIC CROSS PUNCTUATION */
  {0x16EE , L  }, /* RUNIC ARLAUG SYMBOL */
  {0x16EF , L  }, /* RUNIC TVIMADUR SYMBOL */
  {0x16F0 , L  }, /* RUNIC BELGTHOR SYMBOL */
  {0x1700 , L  }, /* TAGALOG LETTER A */
  {0x1701 , L  }, /* TAGALOG LETTER I */
  {0x1702 , L  }, /* TAGALOG LETTER U */
  {0x1703 , L  }, /* TAGALOG LETTER KA */
  {0x1704 , L  }, /* TAGALOG LETTER GA */
  {0x1705 , L  }, /* TAGALOG LETTER NGA */
  {0x1706 , L  }, /* TAGALOG LETTER TA */
  {0x1707 , L  }, /* TAGALOG LETTER DA */
  {0x1708 , L  }, /* TAGALOG LETTER NA */
  {0x1709 , L  }, /* TAGALOG LETTER PA */
  {0x170A , L  }, /* TAGALOG LETTER BA */
  {0x170B , L  }, /* TAGALOG LETTER MA */
  {0x170C , L  }, /* TAGALOG LETTER YA */
  {0x170E , L  }, /* TAGALOG LETTER LA */
  {0x170F , L  }, /* TAGALOG LETTER WA */
  {0x1710 , L  }, /* TAGALOG LETTER SA */
  {0x1711 , L  }, /* TAGALOG LETTER HA */
  {0x1712 , NSM}, /* TAGALOG VOWEL SIGN I */
  {0x1713 , NSM}, /* TAGALOG VOWEL SIGN U */
  {0x1714 , NSM}, /* TAGALOG SIGN VIRAMA */
  {0x1720 , L  }, /* HANUNOO LETTER A */
  {0x1721 , L  }, /* HANUNOO LETTER I */
  {0x1722 , L  }, /* HANUNOO LETTER U */
  {0x1723 , L  }, /* HANUNOO LETTER KA */
  {0x1724 , L  }, /* HANUNOO LETTER GA */
  {0x1725 , L  }, /* HANUNOO LETTER NGA */
  {0x1726 , L  }, /* HANUNOO LETTER TA */
  {0x1727 , L  }, /* HANUNOO LETTER DA */
  {0x1728 , L  }, /* HANUNOO LETTER NA */
  {0x1729 , L  }, /* HANUNOO LETTER PA */
  {0x172A , L  }, /* HANUNOO LETTER BA */
  {0x172B , L  }, /* HANUNOO LETTER MA */
  {0x172C , L  }, /* HANUNOO LETTER YA */
  {0x172D , L  }, /* HANUNOO LETTER RA */
  {0x172E , L  }, /* HANUNOO LETTER LA */
  {0x172F , L  }, /* HANUNOO LETTER WA */
  {0x1730 , L  }, /* HANUNOO LETTER SA */
  {0x1731 , L  }, /* HANUNOO LETTER HA */
  {0x1732 , NSM}, /* HANUNOO VOWEL SIGN I */
  {0x1733 , NSM}, /* HANUNOO VOWEL SIGN U */
  {0x1734 , NSM}, /* HANUNOO SIGN PAMUDPOD */
  {0x1735 , L  }, /* PHILIPPINE SINGLE PUNCTUATION */
  {0x1736 , L  }, /* PHILIPPINE DOUBLE PUNCTUATION */
  {0x1740 , L  }, /* BUHID LETTER A */
  {0x1741 , L  }, /* BUHID LETTER I */
  {0x1742 , L  }, /* BUHID LETTER U */
  {0x1743 , L  }, /* BUHID LETTER KA */
  {0x1744 , L  }, /* BUHID LETTER GA */
  {0x1745 , L  }, /* BUHID LETTER NGA */
  {0x1746 , L  }, /* BUHID LETTER TA */
  {0x1747 , L  }, /* BUHID LETTER DA */
  {0x1748 , L  }, /* BUHID LETTER NA */
  {0x1749 , L  }, /* BUHID LETTER PA */
  {0x174A , L  }, /* BUHID LETTER BA */
  {0x174B , L  }, /* BUHID LETTER MA */
  {0x174C , L  }, /* BUHID LETTER YA */
  {0x174D , L  }, /* BUHID LETTER RA */
  {0x174E , L  }, /* BUHID LETTER LA */
  {0x174F , L  }, /* BUHID LETTER WA */
  {0x1750 , L  }, /* BUHID LETTER SA */
  {0x1751 , L  }, /* BUHID LETTER HA */
  {0x1752 , NSM}, /* BUHID VOWEL SIGN I */
  {0x1753 , NSM}, /* BUHID VOWEL SIGN U */
  {0x1760 , L  }, /* TAGBANWA LETTER A */
  {0x1761 , L  }, /* TAGBANWA LETTER I */
  {0x1762 , L  }, /* TAGBANWA LETTER U */
  {0x1763 , L  }, /* TAGBANWA LETTER KA */
  {0x1764 , L  }, /* TAGBANWA LETTER GA */
  {0x1765 , L  }, /* TAGBANWA LETTER NGA */
  {0x1766 , L  }, /* TAGBANWA LETTER TA */
  {0x1767 , L  }, /* TAGBANWA LETTER DA */
  {0x1768 , L  }, /* TAGBANWA LETTER NA */
  {0x1769 , L  }, /* TAGBANWA LETTER PA */
  {0x176A , L  }, /* TAGBANWA LETTER BA */
  {0x176B , L  }, /* TAGBANWA LETTER MA */
  {0x176C , L  }, /* TAGBANWA LETTER YA */
  {0x176E , L  }, /* TAGBANWA LETTER LA */
  {0x176F , L  }, /* TAGBANWA LETTER WA */
  {0x1770 , L  }, /* TAGBANWA LETTER SA */
  {0x1772 , NSM}, /* TAGBANWA VOWEL SIGN I */
  {0x1773 , NSM}, /* TAGBANWA VOWEL SIGN U */
  {0x1780 , L  }, /* KHMER LETTER KA */
  {0x1781 , L  }, /* KHMER LETTER KHA */
  {0x1782 , L  }, /* KHMER LETTER KO */
  {0x1783 , L  }, /* KHMER LETTER KHO */
  {0x1784 , L  }, /* KHMER LETTER NGO */
  {0x1785 , L  }, /* KHMER LETTER CA */
  {0x1786 , L  }, /* KHMER LETTER CHA */
  {0x1787 , L  }, /* KHMER LETTER CO */
  {0x1788 , L  }, /* KHMER LETTER CHO */
  {0x1789 , L  }, /* KHMER LETTER NYO */
  {0x178A , L  }, /* KHMER LETTER DA */
  {0x178B , L  }, /* KHMER LETTER TTHA */
  {0x178C , L  }, /* KHMER LETTER DO */
  {0x178D , L  }, /* KHMER LETTER TTHO */
  {0x178E , L  }, /* KHMER LETTER NNO */
  {0x178F , L  }, /* KHMER LETTER TA */
  {0x1790 , L  }, /* KHMER LETTER THA */
  {0x1791 , L  }, /* KHMER LETTER TO */
  {0x1792 , L  }, /* KHMER LETTER THO */
  {0x1793 , L  }, /* KHMER LETTER NO */
  {0x1794 , L  }, /* KHMER LETTER BA */
  {0x1795 , L  }, /* KHMER LETTER PHA */
  {0x1796 , L  }, /* KHMER LETTER PO */
  {0x1797 , L  }, /* KHMER LETTER PHO */
  {0x1798 , L  }, /* KHMER LETTER MO */
  {0x1799 , L  }, /* KHMER LETTER YO */
  {0x179A , L  }, /* KHMER LETTER RO */
  {0x179B , L  }, /* KHMER LETTER LO */
  {0x179C , L  }, /* KHMER LETTER VO */
  {0x179D , L  }, /* KHMER LETTER SHA */
  {0x179E , L  }, /* KHMER LETTER SSO */
  {0x179F , L  }, /* KHMER LETTER SA */
  {0x17A0 , L  }, /* KHMER LETTER HA */
  {0x17A1 , L  }, /* KHMER LETTER LA */
  {0x17A2 , L  }, /* KHMER LETTER QA */
  {0x17A3 , L  }, /* KHMER INDEPENDENT VOWEL QAQ */
  {0x17A4 , L  }, /* KHMER INDEPENDENT VOWEL QAA */
  {0x17A5 , L  }, /* KHMER INDEPENDENT VOWEL QI */
  {0x17A6 , L  }, /* KHMER INDEPENDENT VOWEL QII */
  {0x17A7 , L  }, /* KHMER INDEPENDENT VOWEL QU */
  {0x17A8 , L  }, /* KHMER INDEPENDENT VOWEL QUK */
  {0x17A9 , L  }, /* KHMER INDEPENDENT VOWEL QUU */
  {0x17AA , L  }, /* KHMER INDEPENDENT VOWEL QUUV */
  {0x17AB , L  }, /* KHMER INDEPENDENT VOWEL RY */
  {0x17AC , L  }, /* KHMER INDEPENDENT VOWEL RYY */
  {0x17AD , L  }, /* KHMER INDEPENDENT VOWEL LY */
  {0x17AE , L  }, /* KHMER INDEPENDENT VOWEL LYY */
  {0x17AF , L  }, /* KHMER INDEPENDENT VOWEL QE */
  {0x17B0 , L  }, /* KHMER INDEPENDENT VOWEL QAI */
  {0x17B1 , L  }, /* KHMER INDEPENDENT VOWEL QOO TYPE ONE */
  {0x17B2 , L  }, /* KHMER INDEPENDENT VOWEL QOO TYPE TWO */
  {0x17B3 , L  }, /* KHMER INDEPENDENT VOWEL QAU */
  {0x17B4 , L  }, /* KHMER VOWEL INHERENT AQ */
  {0x17B5 , L  }, /* KHMER VOWEL INHERENT AA */
  {0x17B6 , L  }, /* KHMER VOWEL SIGN AA */
  {0x17B7 , NSM}, /* KHMER VOWEL SIGN I */
  {0x17B8 , NSM}, /* KHMER VOWEL SIGN II */
  {0x17B9 , NSM}, /* KHMER VOWEL SIGN Y */
  {0x17BA , NSM}, /* KHMER VOWEL SIGN YY */
  {0x17BB , NSM}, /* KHMER VOWEL SIGN U */
  {0x17BC , NSM}, /* KHMER VOWEL SIGN UU */
  {0x17BD , NSM}, /* KHMER VOWEL SIGN UA */
  {0x17BE , L  }, /* KHMER VOWEL SIGN OE */
  {0x17BF , L  }, /* KHMER VOWEL SIGN YA */
  {0x17C0 , L  }, /* KHMER VOWEL SIGN IE */
  {0x17C1 , L  }, /* KHMER VOWEL SIGN E */
  {0x17C2 , L  }, /* KHMER VOWEL SIGN AE */
  {0x17C3 , L  }, /* KHMER VOWEL SIGN AI */
  {0x17C4 , L  }, /* KHMER VOWEL SIGN OO */
  {0x17C5 , L  }, /* KHMER VOWEL SIGN AU */
  {0x17C6 , NSM}, /* KHMER SIGN NIKAHIT */
  {0x17C7 , L  }, /* KHMER SIGN REAHMUK */
  {0x17C8 , L  }, /* KHMER SIGN YUUKALEAPINTU */
  {0x17C9 , NSM}, /* KHMER SIGN MUUSIKATOAN */
  {0x17CA , NSM}, /* KHMER SIGN TRIISAP */
  {0x17CB , NSM}, /* KHMER SIGN BANTOC */
  {0x17CC , NSM}, /* KHMER SIGN ROBAT */
  {0x17CD , NSM}, /* KHMER SIGN TOANDAKHIAT */
  {0x17CE , NSM}, /* KHMER SIGN KAKABAT */
  {0x17CF , NSM}, /* KHMER SIGN AHSDA */
  {0x17D0 , NSM}, /* KHMER SIGN SAMYOK SANNYA */
  {0x17D1 , NSM}, /* KHMER SIGN VIRIAM */
  {0x17D2 , NSM}, /* KHMER SIGN COENG */
  {0x17D3 , NSM}, /* KHMER SIGN BATHAMASAT */
  {0x17D4 , L  }, /* KHMER SIGN KHAN */
  {0x17D5 , L  }, /* KHMER SIGN BARIYOOSAN */
  {0x17D6 , L  }, /* KHMER SIGN CAMNUC PII KUUH */
  {0x17D7 , L  }, /* KHMER SIGN LEK TOO */
  {0x17D8 , L  }, /* KHMER SIGN BEYYAL */
  {0x17D9 , L  }, /* KHMER SIGN PHNAEK MUAN */
  {0x17DA , L  }, /* KHMER SIGN KOOMUUT */
  {0x17DB , ET }, /* KHMER CURRENCY SYMBOL RIEL */
  {0x17DC , L  }, /* KHMER SIGN AVAKRAHASANYA */
  {0x17DD , NSM}, /* KHMER SIGN ATTHACAN */
  {0x17E0 , L  }, /* KHMER DIGIT ZERO */
  {0x17E1 , L  }, /* KHMER DIGIT ONE */
  {0x17E2 , L  }, /* KHMER DIGIT TWO */
  {0x17E3 , L  }, /* KHMER DIGIT THREE */
  {0x17E4 , L  }, /* KHMER DIGIT FOUR */
  {0x17E5 , L  }, /* KHMER DIGIT FIVE */
  {0x17E6 , L  }, /* KHMER DIGIT SIX */
  {0x17E7 , L  }, /* KHMER DIGIT SEVEN */
  {0x17E8 , L  }, /* KHMER DIGIT EIGHT */
  {0x17E9 , L  }, /* KHMER DIGIT NINE */
  {0x17F0 , ON }, /* KHMER SYMBOL LEK ATTAK SON */
  {0x17F1 , ON }, /* KHMER SYMBOL LEK ATTAK MUOY */
  {0x17F2 , ON }, /* KHMER SYMBOL LEK ATTAK PII */
  {0x17F3 , ON }, /* KHMER SYMBOL LEK ATTAK BEI */
  {0x17F4 , ON }, /* KHMER SYMBOL LEK ATTAK BUON */
  {0x17F5 , ON }, /* KHMER SYMBOL LEK ATTAK PRAM */
  {0x17F6 , ON }, /* KHMER SYMBOL LEK ATTAK PRAM-MUOY */
  {0x17F7 , ON }, /* KHMER SYMBOL LEK ATTAK PRAM-PII */
  {0x17F8 , ON }, /* KHMER SYMBOL LEK ATTAK PRAM-BEI */
  {0x17F9 , ON }, /* KHMER SYMBOL LEK ATTAK PRAM-BUON */
  {0x1800 , ON }, /* MONGOLIAN BIRGA */
  {0x1801 , ON }, /* MONGOLIAN ELLIPSIS */
  {0x1802 , ON }, /* MONGOLIAN COMMA */
  {0x1803 , ON }, /* MONGOLIAN FULL STOP */
  {0x1804 , ON }, /* MONGOLIAN COLON */
  {0x1805 , ON }, /* MONGOLIAN FOUR DOTS */
  {0x1806 , ON }, /* MONGOLIAN TODO SOFT HYPHEN */
  {0x1807 , ON }, /* MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER */
  {0x1808 , ON }, /* MONGOLIAN MANCHU COMMA */
  {0x1809 , ON }, /* MONGOLIAN MANCHU FULL STOP */
  {0x180A , ON }, /* MONGOLIAN NIRUGU */
  {0x180B , NSM}, /* MONGOLIAN FREE VARIATION SELECTOR ONE */
  {0x180C , NSM}, /* MONGOLIAN FREE VARIATION SELECTOR TWO */
  {0x180D , NSM}, /* MONGOLIAN FREE VARIATION SELECTOR THREE */
  {0x180E , WS }, /* MONGOLIAN VOWEL SEPARATOR */
  {0x1810 , L  }, /* MONGOLIAN DIGIT ZERO */
  {0x1811 , L  }, /* MONGOLIAN DIGIT ONE */
  {0x1812 , L  }, /* MONGOLIAN DIGIT TWO */
  {0x1813 , L  }, /* MONGOLIAN DIGIT THREE */
  {0x1814 , L  }, /* MONGOLIAN DIGIT FOUR */
  {0x1815 , L  }, /* MONGOLIAN DIGIT FIVE */
  {0x1816 , L  }, /* MONGOLIAN DIGIT SIX */
  {0x1817 , L  }, /* MONGOLIAN DIGIT SEVEN */
  {0x1818 , L  }, /* MONGOLIAN DIGIT EIGHT */
  {0x1819 , L  }, /* MONGOLIAN DIGIT NINE */
  {0x1820 , L  }, /* MONGOLIAN LETTER A */
  {0x1821 , L  }, /* MONGOLIAN LETTER E */
  {0x1822 , L  }, /* MONGOLIAN LETTER I */
  {0x1823 , L  }, /* MONGOLIAN LETTER O */
  {0x1824 , L  }, /* MONGOLIAN LETTER U */
  {0x1825 , L  }, /* MONGOLIAN LETTER OE */
  {0x1826 , L  }, /* MONGOLIAN LETTER UE */
  {0x1827 , L  }, /* MONGOLIAN LETTER EE */
  {0x1828 , L  }, /* MONGOLIAN LETTER NA */
  {0x1829 , L  }, /* MONGOLIAN LETTER ANG */
  {0x182A , L  }, /* MONGOLIAN LETTER BA */
  {0x182B , L  }, /* MONGOLIAN LETTER PA */
  {0x182C , L  }, /* MONGOLIAN LETTER QA */
  {0x182D , L  }, /* MONGOLIAN LETTER GA */
  {0x182E , L  }, /* MONGOLIAN LETTER MA */
  {0x182F , L  }, /* MONGOLIAN LETTER LA */
  {0x1830 , L  }, /* MONGOLIAN LETTER SA */
  {0x1831 , L  }, /* MONGOLIAN LETTER SHA */
  {0x1832 , L  }, /* MONGOLIAN LETTER TA */
  {0x1833 , L  }, /* MONGOLIAN LETTER DA */
  {0x1834 , L  }, /* MONGOLIAN LETTER CHA */
  {0x1835 , L  }, /* MONGOLIAN LETTER JA */
  {0x1836 , L  }, /* MONGOLIAN LETTER YA */
  {0x1837 , L  }, /* MONGOLIAN LETTER RA */
  {0x1838 , L  }, /* MONGOLIAN LETTER WA */
  {0x1839 , L  }, /* MONGOLIAN LETTER FA */
  {0x183A , L  }, /* MONGOLIAN LETTER KA */
  {0x183B , L  }, /* MONGOLIAN LETTER KHA */
  {0x183C , L  }, /* MONGOLIAN LETTER TSA */
  {0x183D , L  }, /* MONGOLIAN LETTER ZA */
  {0x183E , L  }, /* MONGOLIAN LETTER HAA */
  {0x183F , L  }, /* MONGOLIAN LETTER ZRA */
  {0x1840 , L  }, /* MONGOLIAN LETTER LHA */
  {0x1841 , L  }, /* MONGOLIAN LETTER ZHI */
  {0x1842 , L  }, /* MONGOLIAN LETTER CHI */
  {0x1843 , L  }, /* MONGOLIAN LETTER TODO LONG VOWEL SIGN */
  {0x1844 , L  }, /* MONGOLIAN LETTER TODO E */
  {0x1845 , L  }, /* MONGOLIAN LETTER TODO I */
  {0x1846 , L  }, /* MONGOLIAN LETTER TODO O */
  {0x1847 , L  }, /* MONGOLIAN LETTER TODO U */
  {0x1848 , L  }, /* MONGOLIAN LETTER TODO OE */
  {0x1849 , L  }, /* MONGOLIAN LETTER TODO UE */
  {0x184A , L  }, /* MONGOLIAN LETTER TODO ANG */
  {0x184B , L  }, /* MONGOLIAN LETTER TODO BA */
  {0x184C , L  }, /* MONGOLIAN LETTER TODO PA */
  {0x184D , L  }, /* MONGOLIAN LETTER TODO QA */
  {0x184E , L  }, /* MONGOLIAN LETTER TODO GA */
  {0x184F , L  }, /* MONGOLIAN LETTER TODO MA */
  {0x1850 , L  }, /* MONGOLIAN LETTER TODO TA */
  {0x1851 , L  }, /* MONGOLIAN LETTER TODO DA */
  {0x1852 , L  }, /* MONGOLIAN LETTER TODO CHA */
  {0x1853 , L  }, /* MONGOLIAN LETTER TODO JA */
  {0x1854 , L  }, /* MONGOLIAN LETTER TODO TSA */
  {0x1855 , L  }, /* MONGOLIAN LETTER TODO YA */
  {0x1856 , L  }, /* MONGOLIAN LETTER TODO WA */
  {0x1857 , L  }, /* MONGOLIAN LETTER TODO KA */
  {0x1858 , L  }, /* MONGOLIAN LETTER TODO GAA */
  {0x1859 , L  }, /* MONGOLIAN LETTER TODO HAA */
  {0x185A , L  }, /* MONGOLIAN LETTER TODO JIA */
  {0x185B , L  }, /* MONGOLIAN LETTER TODO NIA */
  {0x185C , L  }, /* MONGOLIAN LETTER TODO DZA */
  {0x185D , L  }, /* MONGOLIAN LETTER SIBE E */
  {0x185E , L  }, /* MONGOLIAN LETTER SIBE I */
  {0x185F , L  }, /* MONGOLIAN LETTER SIBE IY */
  {0x1860 , L  }, /* MONGOLIAN LETTER SIBE UE */
  {0x1861 , L  }, /* MONGOLIAN LETTER SIBE U */
  {0x1862 , L  }, /* MONGOLIAN LETTER SIBE ANG */
  {0x1863 , L  }, /* MONGOLIAN LETTER SIBE KA */
  {0x1864 , L  }, /* MONGOLIAN LETTER SIBE GA */
  {0x1865 , L  }, /* MONGOLIAN LETTER SIBE HA */
  {0x1866 , L  }, /* MONGOLIAN LETTER SIBE PA */
  {0x1867 , L  }, /* MONGOLIAN LETTER SIBE SHA */
  {0x1868 , L  }, /* MONGOLIAN LETTER SIBE TA */
  {0x1869 , L  }, /* MONGOLIAN LETTER SIBE DA */
  {0x186A , L  }, /* MONGOLIAN LETTER SIBE JA */
  {0x186B , L  }, /* MONGOLIAN LETTER SIBE FA */
  {0x186C , L  }, /* MONGOLIAN LETTER SIBE GAA */
  {0x186D , L  }, /* MONGOLIAN LETTER SIBE HAA */
  {0x186E , L  }, /* MONGOLIAN LETTER SIBE TSA */
  {0x186F , L  }, /* MONGOLIAN LETTER SIBE ZA */
  {0x1870 , L  }, /* MONGOLIAN LETTER SIBE RAA */
  {0x1871 , L  }, /* MONGOLIAN LETTER SIBE CHA */
  {0x1872 , L  }, /* MONGOLIAN LETTER SIBE ZHA */
  {0x1873 , L  }, /* MONGOLIAN LETTER MANCHU I */
  {0x1874 , L  }, /* MONGOLIAN LETTER MANCHU KA */
  {0x1875 , L  }, /* MONGOLIAN LETTER MANCHU RA */
  {0x1876 , L  }, /* MONGOLIAN LETTER MANCHU FA */
  {0x1877 , L  }, /* MONGOLIAN LETTER MANCHU ZHA */
  {0x1880 , L  }, /* MONGOLIAN LETTER ALI GALI ANUSVARA ONE */
  {0x1881 , L  }, /* MONGOLIAN LETTER ALI GALI VISARGA ONE */
  {0x1882 , L  }, /* MONGOLIAN LETTER ALI GALI DAMARU */
  {0x1883 , L  }, /* MONGOLIAN LETTER ALI GALI UBADAMA */
  {0x1884 , L  }, /* MONGOLIAN LETTER ALI GALI INVERTED UBADAMA */
  {0x1885 , L  }, /* MONGOLIAN LETTER ALI GALI BALUDA */
  {0x1886 , L  }, /* MONGOLIAN LETTER ALI GALI THREE BALUDA */
  {0x1887 , L  }, /* MONGOLIAN LETTER ALI GALI A */
  {0x1888 , L  }, /* MONGOLIAN LETTER ALI GALI I */
  {0x1889 , L  }, /* MONGOLIAN LETTER ALI GALI KA */
  {0x188A , L  }, /* MONGOLIAN LETTER ALI GALI NGA */
  {0x188B , L  }, /* MONGOLIAN LETTER ALI GALI CA */
  {0x188C , L  }, /* MONGOLIAN LETTER ALI GALI TTA */
  {0x188D , L  }, /* MONGOLIAN LETTER ALI GALI TTHA */
  {0x188E , L  }, /* MONGOLIAN LETTER ALI GALI DDA */
  {0x188F , L  }, /* MONGOLIAN LETTER ALI GALI NNA */
  {0x1890 , L  }, /* MONGOLIAN LETTER ALI GALI TA */
  {0x1891 , L  }, /* MONGOLIAN LETTER ALI GALI DA */
  {0x1892 , L  }, /* MONGOLIAN LETTER ALI GALI PA */
  {0x1893 , L  }, /* MONGOLIAN LETTER ALI GALI PHA */
  {0x1894 , L  }, /* MONGOLIAN LETTER ALI GALI SSA */
  {0x1895 , L  }, /* MONGOLIAN LETTER ALI GALI ZHA */
  {0x1896 , L  }, /* MONGOLIAN LETTER ALI GALI ZA */
  {0x1897 , L  }, /* MONGOLIAN LETTER ALI GALI AH */
  {0x1898 , L  }, /* MONGOLIAN LETTER TODO ALI GALI TA */
  {0x1899 , L  }, /* MONGOLIAN LETTER TODO ALI GALI ZHA */
  {0x189A , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI GHA */
  {0x189B , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI NGA */
  {0x189C , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI CA */
  {0x189D , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI JHA */
  {0x189E , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI TTA */
  {0x189F , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI DDHA */
  {0x18A0 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI TA */
  {0x18A1 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI DHA */
  {0x18A2 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI SSA */
  {0x18A3 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI CYA */
  {0x18A4 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI ZHA */
  {0x18A5 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI ZA */
  {0x18A6 , L  }, /* MONGOLIAN LETTER ALI GALI HALF U */
  {0x18A7 , L  }, /* MONGOLIAN LETTER ALI GALI HALF YA */
  {0x18A8 , L  }, /* MONGOLIAN LETTER MANCHU ALI GALI BHA */
  {0x18A9 , NSM}, /* MONGOLIAN LETTER ALI GALI DAGALGA */
  {0x1900 , L  }, /* LIMBU VOWEL-CARRIER LETTER */
  {0x1901 , L  }, /* LIMBU LETTER KA */
  {0x1902 , L  }, /* LIMBU LETTER KHA */
  {0x1903 , L  }, /* LIMBU LETTER GA */
  {0x1904 , L  }, /* LIMBU LETTER GHA */
  {0x1905 , L  }, /* LIMBU LETTER NGA */
  {0x1906 , L  }, /* LIMBU LETTER CA */
  {0x1907 , L  }, /* LIMBU LETTER CHA */
  {0x1908 , L  }, /* LIMBU LETTER JA */
  {0x1909 , L  }, /* LIMBU LETTER JHA */
  {0x190A , L  }, /* LIMBU LETTER YAN */
  {0x190B , L  }, /* LIMBU LETTER TA */
  {0x190C , L  }, /* LIMBU LETTER THA */
  {0x190D , L  }, /* LIMBU LETTER DA */
  {0x190E , L  }, /* LIMBU LETTER DHA */
  {0x190F , L  }, /* LIMBU LETTER NA */
  {0x1910 , L  }, /* LIMBU LETTER PA */
  {0x1911 , L  }, /* LIMBU LETTER PHA */
  {0x1912 , L  }, /* LIMBU LETTER BA */
  {0x1913 , L  }, /* LIMBU LETTER BHA */
  {0x1914 , L  }, /* LIMBU LETTER MA */
  {0x1915 , L  }, /* LIMBU LETTER YA */
  {0x1916 , L  }, /* LIMBU LETTER RA */
  {0x1917 , L  }, /* LIMBU LETTER LA */
  {0x1918 , L  }, /* LIMBU LETTER WA */
  {0x1919 , L  }, /* LIMBU LETTER SHA */
  {0x191A , L  }, /* LIMBU LETTER SSA */
  {0x191B , L  }, /* LIMBU LETTER SA */
  {0x191C , L  }, /* LIMBU LETTER HA */
  {0x1920 , NSM}, /* LIMBU VOWEL SIGN A */
  {0x1921 , NSM}, /* LIMBU VOWEL SIGN I */
  {0x1922 , NSM}, /* LIMBU VOWEL SIGN U */
  {0x1923 , L  }, /* LIMBU VOWEL SIGN EE */
  {0x1924 , L  }, /* LIMBU VOWEL SIGN AI */
  {0x1925 , L  }, /* LIMBU VOWEL SIGN OO */
  {0x1926 , L  }, /* LIMBU VOWEL SIGN AU */
  {0x1927 , NSM}, /* LIMBU VOWEL SIGN E */
  {0x1928 , NSM}, /* LIMBU VOWEL SIGN O */
  {0x1929 , NSM}, /* LIMBU SUBJOINED LETTER YA */
  {0x192A , NSM}, /* LIMBU SUBJOINED LETTER RA */
  {0x192B , NSM}, /* LIMBU SUBJOINED LETTER WA */
  {0x1930 , L  }, /* LIMBU SMALL LETTER KA */
  {0x1931 , L  }, /* LIMBU SMALL LETTER NGA */
  {0x1932 , NSM}, /* LIMBU SMALL LETTER ANUSVARA */
  {0x1933 , L  }, /* LIMBU SMALL LETTER TA */
  {0x1934 , L  }, /* LIMBU SMALL LETTER NA */
  {0x1935 , L  }, /* LIMBU SMALL LETTER PA */
  {0x1936 , L  }, /* LIMBU SMALL LETTER MA */
  {0x1937 , L  }, /* LIMBU SMALL LETTER RA */
  {0x1938 , L  }, /* LIMBU SMALL LETTER LA */
  {0x1939 , NSM}, /* LIMBU SIGN MUKPHRENG */
  {0x193A , NSM}, /* LIMBU SIGN KEMPHRENG */
  {0x193B , NSM}, /* LIMBU SIGN SA-I */
  {0x1940 , ON }, /* LIMBU SIGN LOO */
  {0x1944 , ON }, /* LIMBU EXCLAMATION MARK */
  {0x1945 , ON }, /* LIMBU QUESTION MARK */
  {0x1946 , L  }, /* LIMBU DIGIT ZERO */
  {0x1947 , L  }, /* LIMBU DIGIT ONE */
  {0x1948 , L  }, /* LIMBU DIGIT TWO */
  {0x1949 , L  }, /* LIMBU DIGIT THREE */
  {0x194A , L  }, /* LIMBU DIGIT FOUR */
  {0x194B , L  }, /* LIMBU DIGIT FIVE */
  {0x194C , L  }, /* LIMBU DIGIT SIX */
  {0x194D , L  }, /* LIMBU DIGIT SEVEN */
  {0x194E , L  }, /* LIMBU DIGIT EIGHT */
  {0x194F , L  }, /* LIMBU DIGIT NINE */
  {0x1950 , L  }, /* TAI LE LETTER KA */
  {0x1951 , L  }, /* TAI LE LETTER XA */
  {0x1952 , L  }, /* TAI LE LETTER NGA */
  {0x1953 , L  }, /* TAI LE LETTER TSA */
  {0x1954 , L  }, /* TAI LE LETTER SA */
  {0x1955 , L  }, /* TAI LE LETTER YA */
  {0x1956 , L  }, /* TAI LE LETTER TA */
  {0x1957 , L  }, /* TAI LE LETTER THA */
  {0x1958 , L  }, /* TAI LE LETTER LA */
  {0x1959 , L  }, /* TAI LE LETTER PA */
  {0x195A , L  }, /* TAI LE LETTER PHA */
  {0x195B , L  }, /* TAI LE LETTER MA */
  {0x195C , L  }, /* TAI LE LETTER FA */
  {0x195D , L  }, /* TAI LE LETTER VA */
  {0x195E , L  }, /* TAI LE LETTER HA */
  {0x195F , L  }, /* TAI LE LETTER QA */
  {0x1960 , L  }, /* TAI LE LETTER KHA */
  {0x1961 , L  }, /* TAI LE LETTER TSHA */
  {0x1962 , L  }, /* TAI LE LETTER NA */
  {0x1963 , L  }, /* TAI LE LETTER A */
  {0x1964 , L  }, /* TAI LE LETTER I */
  {0x1965 , L  }, /* TAI LE LETTER EE */
  {0x1966 , L  }, /* TAI LE LETTER EH */
  {0x1967 , L  }, /* TAI LE LETTER U */
  {0x1968 , L  }, /* TAI LE LETTER OO */
  {0x1969 , L  }, /* TAI LE LETTER O */
  {0x196A , L  }, /* TAI LE LETTER UE */
  {0x196B , L  }, /* TAI LE LETTER E */
  {0x196C , L  }, /* TAI LE LETTER AUE */
  {0x196D , L  }, /* TAI LE LETTER AI */
  {0x1970 , L  }, /* TAI LE LETTER TONE-2 */
  {0x1971 , L  }, /* TAI LE LETTER TONE-3 */
  {0x1972 , L  }, /* TAI LE LETTER TONE-4 */
  {0x1973 , L  }, /* TAI LE LETTER TONE-5 */
  {0x1974 , L  }, /* TAI LE LETTER TONE-6 */
  {0x1980 , L  }, /* NEW TAI LUE LETTER HIGH QA */
  {0x1981 , L  }, /* NEW TAI LUE LETTER LOW QA */
  {0x1982 , L  }, /* NEW TAI LUE LETTER HIGH KA */
  {0x1983 , L  }, /* NEW TAI LUE LETTER HIGH XA */
  {0x1984 , L  }, /* NEW TAI LUE LETTER HIGH NGA */
  {0x1985 , L  }, /* NEW TAI LUE LETTER LOW KA */
  {0x1986 , L  }, /* NEW TAI LUE LETTER LOW XA */
  {0x1987 , L  }, /* NEW TAI LUE LETTER LOW NGA */
  {0x1988 , L  }, /* NEW TAI LUE LETTER HIGH TSA */
  {0x1989 , L  }, /* NEW TAI LUE LETTER HIGH SA */
  {0x198A , L  }, /* NEW TAI LUE LETTER HIGH YA */
  {0x198B , L  }, /* NEW TAI LUE LETTER LOW TSA */
  {0x198C , L  }, /* NEW TAI LUE LETTER LOW SA */
  {0x198D , L  }, /* NEW TAI LUE LETTER LOW YA */
  {0x198E , L  }, /* NEW TAI LUE LETTER HIGH TA */
  {0x198F , L  }, /* NEW TAI LUE LETTER HIGH THA */
  {0x1990 , L  }, /* NEW TAI LUE LETTER HIGH NA */
  {0x1991 , L  }, /* NEW TAI LUE LETTER LOW TA */
  {0x1992 , L  }, /* NEW TAI LUE LETTER LOW THA */
  {0x1993 , L  }, /* NEW TAI LUE LETTER LOW NA */
  {0x1994 , L  }, /* NEW TAI LUE LETTER HIGH PA */
  {0x1995 , L  }, /* NEW TAI LUE LETTER HIGH PHA */
  {0x1996 , L  }, /* NEW TAI LUE LETTER HIGH MA */
  {0x1997 , L  }, /* NEW TAI LUE LETTER LOW PA */
  {0x1998 , L  }, /* NEW TAI LUE LETTER LOW PHA */
  {0x1999 , L  }, /* NEW TAI LUE LETTER LOW MA */
  {0x199A , L  }, /* NEW TAI LUE LETTER HIGH FA */
  {0x199B , L  }, /* NEW TAI LUE LETTER HIGH VA */
  {0x199C , L  }, /* NEW TAI LUE LETTER HIGH LA */
  {0x199D , L  }, /* NEW TAI LUE LETTER LOW FA */
  {0x199E , L  }, /* NEW TAI LUE LETTER LOW VA */
  {0x199F , L  }, /* NEW TAI LUE LETTER LOW LA */
  {0x19A0 , L  }, /* NEW TAI LUE LETTER HIGH HA */
  {0x19A1 , L  }, /* NEW TAI LUE LETTER HIGH DA */
  {0x19A2 , L  }, /* NEW TAI LUE LETTER HIGH BA */
  {0x19A3 , L  }, /* NEW TAI LUE LETTER LOW HA */
  {0x19A4 , L  }, /* NEW TAI LUE LETTER LOW DA */
  {0x19A5 , L  }, /* NEW TAI LUE LETTER LOW BA */
  {0x19A6 , L  }, /* NEW TAI LUE LETTER HIGH KVA */
  {0x19A7 , L  }, /* NEW TAI LUE LETTER HIGH XVA */
  {0x19A8 , L  }, /* NEW TAI LUE LETTER LOW KVA */
  {0x19A9 , L  }, /* NEW TAI LUE LETTER LOW XVA */
  {0x19B0 , L  }, /* NEW TAI LUE VOWEL SIGN VOWEL SHORTENER */
  {0x19B1 , L  }, /* NEW TAI LUE VOWEL SIGN AA */
  {0x19B2 , L  }, /* NEW TAI LUE VOWEL SIGN II */
  {0x19B3 , L  }, /* NEW TAI LUE VOWEL SIGN U */
  {0x19B4 , L  }, /* NEW TAI LUE VOWEL SIGN UU */
  {0x19B5 , L  }, /* NEW TAI LUE VOWEL SIGN E */
  {0x19B6 , L  }, /* NEW TAI LUE VOWEL SIGN AE */
  {0x19B7 , L  }, /* NEW TAI LUE VOWEL SIGN O */
  {0x19B8 , L  }, /* NEW TAI LUE VOWEL SIGN OA */
  {0x19B9 , L  }, /* NEW TAI LUE VOWEL SIGN UE */
  {0x19BA , L  }, /* NEW TAI LUE VOWEL SIGN AY */
  {0x19BB , L  }, /* NEW TAI LUE VOWEL SIGN AAY */
  {0x19BC , L  }, /* NEW TAI LUE VOWEL SIGN UY */
  {0x19BD , L  }, /* NEW TAI LUE VOWEL SIGN OY */
  {0x19BE , L  }, /* NEW TAI LUE VOWEL SIGN OAY */
  {0x19BF , L  }, /* NEW TAI LUE VOWEL SIGN UEY */
  {0x19C0 , L  }, /* NEW TAI LUE VOWEL SIGN IY */
  {0x19C1 , L  }, /* NEW TAI LUE LETTER FINAL V */
  {0x19C2 , L  }, /* NEW TAI LUE LETTER FINAL NG */
  {0x19C3 , L  }, /* NEW TAI LUE LETTER FINAL N */
  {0x19C4 , L  }, /* NEW TAI LUE LETTER FINAL M */
  {0x19C5 , L  }, /* NEW TAI LUE LETTER FINAL K */
  {0x19C6 , L  }, /* NEW TAI LUE LETTER FINAL D */
  {0x19C7 , L  }, /* NEW TAI LUE LETTER FINAL B */
  {0x19C8 , L  }, /* NEW TAI LUE TONE MARK-1 */
  {0x19C9 , L  }, /* NEW TAI LUE TONE MARK-2 */
  {0x19D0 , L  }, /* NEW TAI LUE DIGIT ZERO */
  {0x19D1 , L  }, /* NEW TAI LUE DIGIT ONE */
  {0x19D2 , L  }, /* NEW TAI LUE DIGIT TWO */
  {0x19D3 , L  }, /* NEW TAI LUE DIGIT THREE */
  {0x19D4 , L  }, /* NEW TAI LUE DIGIT FOUR */
  {0x19D5 , L  }, /* NEW TAI LUE DIGIT FIVE */
  {0x19D6 , L  }, /* NEW TAI LUE DIGIT SIX */
  {0x19D7 , L  }, /* NEW TAI LUE DIGIT SEVEN */
  {0x19D8 , L  }, /* NEW TAI LUE DIGIT EIGHT */
  {0x19D9 , L  }, /* NEW TAI LUE DIGIT NINE */
  {0x19DE , ON }, /* NEW TAI LUE SIGN LAE */
  {0x19DF , ON }, /* NEW TAI LUE SIGN LAEV */
  {0x19E0 , ON }, /* KHMER SYMBOL PATHAMASAT */
  {0x19E1 , ON }, /* KHMER SYMBOL MUOY KOET */
  {0x19E2 , ON }, /* KHMER SYMBOL PII KOET */
  {0x19E3 , ON }, /* KHMER SYMBOL BEI KOET */
  {0x19E4 , ON }, /* KHMER SYMBOL BUON KOET */
  {0x19E5 , ON }, /* KHMER SYMBOL PRAM KOET */
  {0x19E6 , ON }, /* KHMER SYMBOL PRAM-MUOY KOET */
  {0x19E7 , ON }, /* KHMER SYMBOL PRAM-PII KOET */
  {0x19E8 , ON }, /* KHMER SYMBOL PRAM-BEI KOET */
  {0x19E9 , ON }, /* KHMER SYMBOL PRAM-BUON KOET */
  {0x19EA , ON }, /* KHMER SYMBOL DAP KOET */
  {0x19EB , ON }, /* KHMER SYMBOL DAP-MUOY KOET */
  {0x19EC , ON }, /* KHMER SYMBOL DAP-PII KOET */
  {0x19ED , ON }, /* KHMER SYMBOL DAP-BEI KOET */
  {0x19EE , ON }, /* KHMER SYMBOL DAP-BUON KOET */
  {0x19EF , ON }, /* KHMER SYMBOL DAP-PRAM KOET */
  {0x19F0 , ON }, /* KHMER SYMBOL TUTEYASAT */
  {0x19F1 , ON }, /* KHMER SYMBOL MUOY ROC */
  {0x19F2 , ON }, /* KHMER SYMBOL PII ROC */
  {0x19F3 , ON }, /* KHMER SYMBOL BEI ROC */
  {0x19F4 , ON }, /* KHMER SYMBOL BUON ROC */
  {0x19F5 , ON }, /* KHMER SYMBOL PRAM ROC */
  {0x19F6 , ON }, /* KHMER SYMBOL PRAM-MUOY ROC */
  {0x19F7 , ON }, /* KHMER SYMBOL PRAM-PII ROC */
  {0x19F8 , ON }, /* KHMER SYMBOL PRAM-BEI ROC */
  {0x19F9 , ON }, /* KHMER SYMBOL PRAM-BUON ROC */
  {0x19FA , ON }, /* KHMER SYMBOL DAP ROC */
  {0x19FB , ON }, /* KHMER SYMBOL DAP-MUOY ROC */
  {0x19FC , ON }, /* KHMER SYMBOL DAP-PII ROC */
  {0x19FD , ON }, /* KHMER SYMBOL DAP-BEI ROC */
  {0x19FE , ON }, /* KHMER SYMBOL DAP-BUON ROC */
  {0x19FF , ON }, /* KHMER SYMBOL DAP-PRAM ROC */
  {0x1A00 , L  }, /* BUGINESE LETTER KA */
  {0x1A01 , L  }, /* BUGINESE LETTER GA */
  {0x1A02 , L  }, /* BUGINESE LETTER NGA */
  {0x1A03 , L  }, /* BUGINESE LETTER NGKA */
  {0x1A04 , L  }, /* BUGINESE LETTER PA */
  {0x1A05 , L  }, /* BUGINESE LETTER BA */
  {0x1A06 , L  }, /* BUGINESE LETTER MA */
  {0x1A07 , L  }, /* BUGINESE LETTER MPA */
  {0x1A08 , L  }, /* BUGINESE LETTER TA */
  {0x1A09 , L  }, /* BUGINESE LETTER DA */
  {0x1A0A , L  }, /* BUGINESE LETTER NA */
  {0x1A0B , L  }, /* BUGINESE LETTER NRA */
  {0x1A0C , L  }, /* BUGINESE LETTER CA */
  {0x1A0D , L  }, /* BUGINESE LETTER JA */
  {0x1A0E , L  }, /* BUGINESE LETTER NYA */
  {0x1A0F , L  }, /* BUGINESE LETTER NYCA */
  {0x1A10 , L  }, /* BUGINESE LETTER YA */
  {0x1A11 , L  }, /* BUGINESE LETTER RA */
  {0x1A12 , L  }, /* BUGINESE LETTER LA */
  {0x1A13 , L  }, /* BUGINESE LETTER VA */
  {0x1A14 , L  }, /* BUGINESE LETTER SA */
  {0x1A15 , L  }, /* BUGINESE LETTER A */
  {0x1A16 , L  }, /* BUGINESE LETTER HA */
  {0x1A17 , NSM}, /* BUGINESE VOWEL SIGN I */
  {0x1A18 , NSM}, /* BUGINESE VOWEL SIGN U */
  {0x1A19 , L  }, /* BUGINESE VOWEL SIGN E */
  {0x1A1A , L  }, /* BUGINESE VOWEL SIGN O */
  {0x1A1B , L  }, /* BUGINESE VOWEL SIGN AE */
  {0x1A1E , L  }, /* BUGINESE PALLAWA */
  {0x1A1F , L  }, /* BUGINESE END OF SECTION */
  {0x1D00 , L  }, /* LATIN LETTER SMALL CAPITAL A */
  {0x1D01 , L  }, /* LATIN LETTER SMALL CAPITAL AE */
  {0x1D02 , L  }, /* LATIN SMALL LETTER TURNED AE */
  {0x1D03 , L  }, /* LATIN LETTER SMALL CAPITAL BARRED B */
  {0x1D04 , L  }, /* LATIN LETTER SMALL CAPITAL C */
  {0x1D05 , L  }, /* LATIN LETTER SMALL CAPITAL D */
  {0x1D06 , L  }, /* LATIN LETTER SMALL CAPITAL ETH */
  {0x1D07 , L  }, /* LATIN LETTER SMALL CAPITAL E */
  {0x1D08 , L  }, /* LATIN SMALL LETTER TURNED OPEN E */
  {0x1D09 , L  }, /* LATIN SMALL LETTER TURNED I */
  {0x1D0A , L  }, /* LATIN LETTER SMALL CAPITAL J */
  {0x1D0B , L  }, /* LATIN LETTER SMALL CAPITAL K */
  {0x1D0C , L  }, /* LATIN LETTER SMALL CAPITAL L WITH STROKE */
  {0x1D0D , L  }, /* LATIN LETTER SMALL CAPITAL M */
  {0x1D0E , L  }, /* LATIN LETTER SMALL CAPITAL REVERSED N */
  {0x1D0F , L  }, /* LATIN LETTER SMALL CAPITAL O */
  {0x1D10 , L  }, /* LATIN LETTER SMALL CAPITAL OPEN O */
  {0x1D11 , L  }, /* LATIN SMALL LETTER SIDEWAYS O */
  {0x1D12 , L  }, /* LATIN SMALL LETTER SIDEWAYS OPEN O */
  {0x1D13 , L  }, /* LATIN SMALL LETTER SIDEWAYS O WITH STROKE */
  {0x1D14 , L  }, /* LATIN SMALL LETTER TURNED OE */
  {0x1D15 , L  }, /* LATIN LETTER SMALL CAPITAL OU */
  {0x1D16 , L  }, /* LATIN SMALL LETTER TOP HALF O */
  {0x1D17 , L  }, /* LATIN SMALL LETTER BOTTOM HALF O */
  {0x1D18 , L  }, /* LATIN LETTER SMALL CAPITAL P */
  {0x1D19 , L  }, /* LATIN LETTER SMALL CAPITAL REVERSED R */
  {0x1D1A , L  }, /* LATIN LETTER SMALL CAPITAL TURNED R */
  {0x1D1B , L  }, /* LATIN LETTER SMALL CAPITAL T */
  {0x1D1C , L  }, /* LATIN LETTER SMALL CAPITAL U */
  {0x1D1D , L  }, /* LATIN SMALL LETTER SIDEWAYS U */
  {0x1D1E , L  }, /* LATIN SMALL LETTER SIDEWAYS DIAERESIZED U */
  {0x1D1F , L  }, /* LATIN SMALL LETTER SIDEWAYS TURNED M */
  {0x1D20 , L  }, /* LATIN LETTER SMALL CAPITAL V */
  {0x1D21 , L  }, /* LATIN LETTER SMALL CAPITAL W */
  {0x1D22 , L  }, /* LATIN LETTER SMALL CAPITAL Z */
  {0x1D23 , L  }, /* LATIN LETTER SMALL CAPITAL EZH */
  {0x1D24 , L  }, /* LATIN LETTER VOICED LARYNGEAL SPIRANT */
  {0x1D25 , L  }, /* LATIN LETTER AIN */
  {0x1D26 , L  }, /* GREEK LETTER SMALL CAPITAL GAMMA */
  {0x1D27 , L  }, /* GREEK LETTER SMALL CAPITAL LAMDA */
  {0x1D28 , L  }, /* GREEK LETTER SMALL CAPITAL PI */
  {0x1D29 , L  }, /* GREEK LETTER SMALL CAPITAL RHO */
  {0x1D2A , L  }, /* GREEK LETTER SMALL CAPITAL PSI */
  {0x1D2B , L  }, /* CYRILLIC LETTER SMALL CAPITAL EL */
  {0x1D2C , L  }, /* MODIFIER LETTER CAPITAL A */
  {0x1D2D , L  }, /* MODIFIER LETTER CAPITAL AE */
  {0x1D2E , L  }, /* MODIFIER LETTER CAPITAL B */
  {0x1D2F , L  }, /* MODIFIER LETTER CAPITAL BARRED B */
  {0x1D30 , L  }, /* MODIFIER LETTER CAPITAL D */
  {0x1D31 , L  }, /* MODIFIER LETTER CAPITAL E */
  {0x1D32 , L  }, /* MODIFIER LETTER CAPITAL REVERSED E */
  {0x1D33 , L  }, /* MODIFIER LETTER CAPITAL G */
  {0x1D34 , L  }, /* MODIFIER LETTER CAPITAL H */
  {0x1D35 , L  }, /* MODIFIER LETTER CAPITAL I */
  {0x1D36 , L  }, /* MODIFIER LETTER CAPITAL J */
  {0x1D37 , L  }, /* MODIFIER LETTER CAPITAL K */
  {0x1D38 , L  }, /* MODIFIER LETTER CAPITAL L */
  {0x1D39 , L  }, /* MODIFIER LETTER CAPITAL M */
  {0x1D3A , L  }, /* MODIFIER LETTER CAPITAL N */
  {0x1D3B , L  }, /* MODIFIER LETTER CAPITAL REVERSED N */
  {0x1D3C , L  }, /* MODIFIER LETTER CAPITAL O */
  {0x1D3D , L  }, /* MODIFIER LETTER CAPITAL OU */
  {0x1D3E , L  }, /* MODIFIER LETTER CAPITAL P */
  {0x1D3F , L  }, /* MODIFIER LETTER CAPITAL R */
  {0x1D40 , L  }, /* MODIFIER LETTER CAPITAL T */
  {0x1D41 , L  }, /* MODIFIER LETTER CAPITAL U */
  {0x1D42 , L  }, /* MODIFIER LETTER CAPITAL W */
  {0x1D43 , L  }, /* MODIFIER LETTER SMALL A */
  {0x1D44 , L  }, /* MODIFIER LETTER SMALL TURNED A */
  {0x1D45 , L  }, /* MODIFIER LETTER SMALL ALPHA */
  {0x1D46 , L  }, /* MODIFIER LETTER SMALL TURNED AE */
  {0x1D47 , L  }, /* MODIFIER LETTER SMALL B */
  {0x1D48 , L  }, /* MODIFIER LETTER SMALL D */
  {0x1D49 , L  }, /* MODIFIER LETTER SMALL E */
  {0x1D4A , L  }, /* MODIFIER LETTER SMALL SCHWA */
  {0x1D4B , L  }, /* MODIFIER LETTER SMALL OPEN E */
  {0x1D4C , L  }, /* MODIFIER LETTER SMALL TURNED OPEN E */
  {0x1D4D , L  }, /* MODIFIER LETTER SMALL G */
  {0x1D4E , L  }, /* MODIFIER LETTER SMALL TURNED I */
  {0x1D4F , L  }, /* MODIFIER LETTER SMALL K */
  {0x1D50 , L  }, /* MODIFIER LETTER SMALL M */
  {0x1D51 , L  }, /* MODIFIER LETTER SMALL ENG */
  {0x1D52 , L  }, /* MODIFIER LETTER SMALL O */
  {0x1D53 , L  }, /* MODIFIER LETTER SMALL OPEN O */
  {0x1D54 , L  }, /* MODIFIER LETTER SMALL TOP HALF O */
  {0x1D55 , L  }, /* MODIFIER LETTER SMALL BOTTOM HALF O */
  {0x1D56 , L  }, /* MODIFIER LETTER SMALL P */
  {0x1D57 , L  }, /* MODIFIER LETTER SMALL T */
  {0x1D58 , L  }, /* MODIFIER LETTER SMALL U */
  {0x1D59 , L  }, /* MODIFIER LETTER SMALL SIDEWAYS U */
  {0x1D5A , L  }, /* MODIFIER LETTER SMALL TURNED M */
  {0x1D5B , L  }, /* MODIFIER LETTER SMALL V */
  {0x1D5C , L  }, /* MODIFIER LETTER SMALL AIN */
  {0x1D5D , L  }, /* MODIFIER LETTER SMALL BETA */
  {0x1D5E , L  }, /* MODIFIER LETTER SMALL GREEK GAMMA */
  {0x1D5F , L  }, /* MODIFIER LETTER SMALL DELTA */
  {0x1D60 , L  }, /* MODIFIER LETTER SMALL GREEK PHI */
  {0x1D61 , L  }, /* MODIFIER LETTER SMALL CHI */
  {0x1D62 , L  }, /* LATIN SUBSCRIPT SMALL LETTER I */
  {0x1D63 , L  }, /* LATIN SUBSCRIPT SMALL LETTER R */
  {0x1D64 , L  }, /* LATIN SUBSCRIPT SMALL LETTER U */
  {0x1D65 , L  }, /* LATIN SUBSCRIPT SMALL LETTER V */
  {0x1D66 , L  }, /* GREEK SUBSCRIPT SMALL LETTER BETA */
  {0x1D67 , L  }, /* GREEK SUBSCRIPT SMALL LETTER GAMMA */
  {0x1D68 , L  }, /* GREEK SUBSCRIPT SMALL LETTER RHO */
  {0x1D69 , L  }, /* GREEK SUBSCRIPT SMALL LETTER PHI */
  {0x1D6A , L  }, /* GREEK SUBSCRIPT SMALL LETTER CHI */
  {0x1D6B , L  }, /* LATIN SMALL LETTER UE */
  {0x1D6C , L  }, /* LATIN SMALL LETTER B WITH MIDDLE TILDE */
  {0x1D6D , L  }, /* LATIN SMALL LETTER D WITH MIDDLE TILDE */
  {0x1D6E , L  }, /* LATIN SMALL LETTER F WITH MIDDLE TILDE */
  {0x1D6F , L  }, /* LATIN SMALL LETTER M WITH MIDDLE TILDE */
  {0x1D70 , L  }, /* LATIN SMALL LETTER N WITH MIDDLE TILDE */
  {0x1D71 , L  }, /* LATIN SMALL LETTER P WITH MIDDLE TILDE */
  {0x1D72 , L  }, /* LATIN SMALL LETTER R WITH MIDDLE TILDE */
  {0x1D73 , L  }, /* LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE */
  {0x1D74 , L  }, /* LATIN SMALL LETTER S WITH MIDDLE TILDE */
  {0x1D75 , L  }, /* LATIN SMALL LETTER T WITH MIDDLE TILDE */
  {0x1D76 , L  }, /* LATIN SMALL LETTER Z WITH MIDDLE TILDE */
  {0x1D77 , L  }, /* LATIN SMALL LETTER TURNED G */
  {0x1D78 , L  }, /* MODIFIER LETTER CYRILLIC EN */
  {0x1D79 , L  }, /* LATIN SMALL LETTER INSULAR G */
  {0x1D7A , L  }, /* LATIN SMALL LETTER TH WITH STRIKETHROUGH */
  {0x1D7B , L  }, /* LATIN SMALL CAPITAL LETTER I WITH STROKE */
  {0x1D7C , L  }, /* LATIN SMALL LETTER IOTA WITH STROKE */
  {0x1D7D , L  }, /* LATIN SMALL LETTER P WITH STROKE */
  {0x1D7E , L  }, /* LATIN SMALL CAPITAL LETTER U WITH STROKE */
  {0x1D7F , L  }, /* LATIN SMALL LETTER UPSILON WITH STROKE */
  {0x1D80 , L  }, /* LATIN SMALL LETTER B WITH PALATAL HOOK */
  {0x1D81 , L  }, /* LATIN SMALL LETTER D WITH PALATAL HOOK */
  {0x1D82 , L  }, /* LATIN SMALL LETTER F WITH PALATAL HOOK */
  {0x1D83 , L  }, /* LATIN SMALL LETTER G WITH PALATAL HOOK */
  {0x1D84 , L  }, /* LATIN SMALL LETTER K WITH PALATAL HOOK */
  {0x1D85 , L  }, /* LATIN SMALL LETTER L WITH PALATAL HOOK */
  {0x1D86 , L  }, /* LATIN SMALL LETTER M WITH PALATAL HOOK */
  {0x1D87 , L  }, /* LATIN SMALL LETTER N WITH PALATAL HOOK */
  {0x1D88 , L  }, /* LATIN SMALL LETTER P WITH PALATAL HOOK */
  {0x1D89 , L  }, /* LATIN SMALL LETTER R WITH PALATAL HOOK */
  {0x1D8A , L  }, /* LATIN SMALL LETTER S WITH PALATAL HOOK */
  {0x1D8B , L  }, /* LATIN SMALL LETTER ESH WITH PALATAL HOOK */
  {0x1D8C , L  }, /* LATIN SMALL LETTER V WITH PALATAL HOOK */
  {0x1D8D , L  }, /* LATIN SMALL LETTER X WITH PALATAL HOOK */
  {0x1D8E , L  }, /* LATIN SMALL LETTER Z WITH PALATAL HOOK */
  {0x1D8F , L  }, /* LATIN SMALL LETTER A WITH RETROFLEX HOOK */
  {0x1D90 , L  }, /* LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK */
  {0x1D91 , L  }, /* LATIN SMALL LETTER D WITH HOOK AND TAIL */
  {0x1D92 , L  }, /* LATIN SMALL LETTER E WITH RETROFLEX HOOK */
  {0x1D93 , L  }, /* LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK */
  {0x1D94 , L  }, /* LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK */
  {0x1D95 , L  }, /* LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK */
  {0x1D96 , L  }, /* LATIN SMALL LETTER I WITH RETROFLEX HOOK */
  {0x1D97 , L  }, /* LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK */
  {0x1D98 , L  }, /* LATIN SMALL LETTER ESH WITH RETROFLEX HOOK */
  {0x1D99 , L  }, /* LATIN SMALL LETTER U WITH RETROFLEX HOOK */
  {0x1D9A , L  }, /* LATIN SMALL LETTER EZH WITH RETROFLEX HOOK */
  {0x1D9B , L  }, /* MODIFIER LETTER SMALL TURNED ALPHA */
  {0x1D9C , L  }, /* MODIFIER LETTER SMALL C */
  {0x1D9D , L  }, /* MODIFIER LETTER SMALL C WITH CURL */
  {0x1D9E , L  }, /* MODIFIER LETTER SMALL ETH */
  {0x1D9F , L  }, /* MODIFIER LETTER SMALL REVERSED OPEN E */
  {0x1DA0 , L  }, /* MODIFIER LETTER SMALL F */
  {0x1DA1 , L  }, /* MODIFIER LETTER SMALL DOTLESS J WITH STROKE */
  {0x1DA2 , L  }, /* MODIFIER LETTER SMALL SCRIPT G */
  {0x1DA3 , L  }, /* MODIFIER LETTER SMALL TURNED H */
  {0x1DA4 , L  }, /* MODIFIER LETTER SMALL I WITH STROKE */
  {0x1DA5 , L  }, /* MODIFIER LETTER SMALL IOTA */
  {0x1DA6 , L  }, /* MODIFIER LETTER SMALL CAPITAL I */
  {0x1DA7 , L  }, /* MODIFIER LETTER SMALL CAPITAL I WITH STROKE */
  {0x1DA8 , L  }, /* MODIFIER LETTER SMALL J WITH CROSSED-TAIL */
  {0x1DA9 , L  }, /* MODIFIER LETTER SMALL L WITH RETROFLEX HOOK */
  {0x1DAA , L  }, /* MODIFIER LETTER SMALL L WITH PALATAL HOOK */
  {0x1DAB , L  }, /* MODIFIER LETTER SMALL CAPITAL L */
  {0x1DAC , L  }, /* MODIFIER LETTER SMALL M WITH HOOK */
  {0x1DAD , L  }, /* MODIFIER LETTER SMALL TURNED M WITH LONG LEG */
  {0x1DAE , L  }, /* MODIFIER LETTER SMALL N WITH LEFT HOOK */
  {0x1DAF , L  }, /* MODIFIER LETTER SMALL N WITH RETROFLEX HOOK */
  {0x1DB0 , L  }, /* MODIFIER LETTER SMALL CAPITAL N */
  {0x1DB1 , L  }, /* MODIFIER LETTER SMALL BARRED O */
  {0x1DB2 , L  }, /* MODIFIER LETTER SMALL PHI */
  {0x1DB3 , L  }, /* MODIFIER LETTER SMALL S WITH HOOK */
  {0x1DB4 , L  }, /* MODIFIER LETTER SMALL ESH */
  {0x1DB5 , L  }, /* MODIFIER LETTER SMALL T WITH PALATAL HOOK */
  {0x1DB6 , L  }, /* MODIFIER LETTER SMALL U BAR */
  {0x1DB7 , L  }, /* MODIFIER LETTER SMALL UPSILON */
  {0x1DB8 , L  }, /* MODIFIER LETTER SMALL CAPITAL U */
  {0x1DB9 , L  }, /* MODIFIER LETTER SMALL V WITH HOOK */
  {0x1DBA , L  }, /* MODIFIER LETTER SMALL TURNED V */
  {0x1DBB , L  }, /* MODIFIER LETTER SMALL Z */
  {0x1DBC , L  }, /* MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK */
  {0x1DBD , L  }, /* MODIFIER LETTER SMALL Z WITH CURL */
  {0x1DBE , L  }, /* MODIFIER LETTER SMALL EZH */
  {0x1DBF , L  }, /* MODIFIER LETTER SMALL THETA */
  {0x1DC0 , NSM}, /* COMBINING DOTTED GRAVE ACCENT */
  {0x1DC1 , NSM}, /* COMBINING DOTTED ACUTE ACCENT */
  {0x1DC2 , NSM}, /* COMBINING SNAKE BELOW */
  {0x1DC3 , NSM}, /* COMBINING SUSPENSION MARK */
  {0x1E00 , L  }, /* LATIN CAPITAL LETTER A WITH RING BELOW */
  {0x1E01 , L  }, /* LATIN SMALL LETTER A WITH RING BELOW */
  {0x1E02 , L  }, /* LATIN CAPITAL LETTER B WITH DOT ABOVE */
  {0x1E03 , L  }, /* LATIN SMALL LETTER B WITH DOT ABOVE */
  {0x1E04 , L  }, /* LATIN CAPITAL LETTER B WITH DOT BELOW */
  {0x1E05 , L  }, /* LATIN SMALL LETTER B WITH DOT BELOW */
  {0x1E06 , L  }, /* LATIN CAPITAL LETTER B WITH LINE BELOW */
  {0x1E07 , L  }, /* LATIN SMALL LETTER B WITH LINE BELOW */
  {0x1E08 , L  }, /* LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE */
  {0x1E09 , L  }, /* LATIN SMALL LETTER C WITH CEDILLA AND ACUTE */
  {0x1E0A , L  }, /* LATIN CAPITAL LETTER D WITH DOT ABOVE */
  {0x1E0B , L  }, /* LATIN SMALL LETTER D WITH DOT ABOVE */
  {0x1E0C , L  }, /* LATIN CAPITAL LETTER D WITH DOT BELOW */
  {0x1E0D , L  }, /* LATIN SMALL LETTER D WITH DOT BELOW */
  {0x1E0E , L  }, /* LATIN CAPITAL LETTER D WITH LINE BELOW */
  {0x1E0F , L  }, /* LATIN SMALL LETTER D WITH LINE BELOW */
  {0x1E10 , L  }, /* LATIN CAPITAL LETTER D WITH CEDILLA */
  {0x1E11 , L  }, /* LATIN SMALL LETTER D WITH CEDILLA */
  {0x1E12 , L  }, /* LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW */
  {0x1E13 , L  }, /* LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW */
  {0x1E14 , L  }, /* LATIN CAPITAL LETTER E WITH MACRON AND GRAVE */
  {0x1E15 , L  }, /* LATIN SMALL LETTER E WITH MACRON AND GRAVE */
  {0x1E16 , L  }, /* LATIN CAPITAL LETTER E WITH MACRON AND ACUTE */
  {0x1E17 , L  }, /* LATIN SMALL LETTER E WITH MACRON AND ACUTE */
  {0x1E18 , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW */
  {0x1E19 , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW */
  {0x1E1A , L  }, /* LATIN CAPITAL LETTER E WITH TILDE BELOW */
  {0x1E1B , L  }, /* LATIN SMALL LETTER E WITH TILDE BELOW */
  {0x1E1C , L  }, /* LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */
  {0x1E1D , L  }, /* LATIN SMALL LETTER E WITH CEDILLA AND BREVE */
  {0x1E1E , L  }, /* LATIN CAPITAL LETTER F WITH DOT ABOVE */
  {0x1E1F , L  }, /* LATIN SMALL LETTER F WITH DOT ABOVE */
  {0x1E20 , L  }, /* LATIN CAPITAL LETTER G WITH MACRON */
  {0x1E21 , L  }, /* LATIN SMALL LETTER G WITH MACRON */
  {0x1E22 , L  }, /* LATIN CAPITAL LETTER H WITH DOT ABOVE */
  {0x1E23 , L  }, /* LATIN SMALL LETTER H WITH DOT ABOVE */
  {0x1E24 , L  }, /* LATIN CAPITAL LETTER H WITH DOT BELOW */
  {0x1E25 , L  }, /* LATIN SMALL LETTER H WITH DOT BELOW */
  {0x1E26 , L  }, /* LATIN CAPITAL LETTER H WITH DIAERESIS */
  {0x1E27 , L  }, /* LATIN SMALL LETTER H WITH DIAERESIS */
  {0x1E28 , L  }, /* LATIN CAPITAL LETTER H WITH CEDILLA */
  {0x1E29 , L  }, /* LATIN SMALL LETTER H WITH CEDILLA */
  {0x1E2A , L  }, /* LATIN CAPITAL LETTER H WITH BREVE BELOW */
  {0x1E2B , L  }, /* LATIN SMALL LETTER H WITH BREVE BELOW */
  {0x1E2C , L  }, /* LATIN CAPITAL LETTER I WITH TILDE BELOW */
  {0x1E2D , L  }, /* LATIN SMALL LETTER I WITH TILDE BELOW */
  {0x1E2E , L  }, /* LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE */
  {0x1E2F , L  }, /* LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE */
  {0x1E30 , L  }, /* LATIN CAPITAL LETTER K WITH ACUTE */
  {0x1E31 , L  }, /* LATIN SMALL LETTER K WITH ACUTE */
  {0x1E32 , L  }, /* LATIN CAPITAL LETTER K WITH DOT BELOW */
  {0x1E33 , L  }, /* LATIN SMALL LETTER K WITH DOT BELOW */
  {0x1E34 , L  }, /* LATIN CAPITAL LETTER K WITH LINE BELOW */
  {0x1E35 , L  }, /* LATIN SMALL LETTER K WITH LINE BELOW */
  {0x1E36 , L  }, /* LATIN CAPITAL LETTER L WITH DOT BELOW */
  {0x1E37 , L  }, /* LATIN SMALL LETTER L WITH DOT BELOW */
  {0x1E38 , L  }, /* LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON */
  {0x1E39 , L  }, /* LATIN SMALL LETTER L WITH DOT BELOW AND MACRON */
  {0x1E3A , L  }, /* LATIN CAPITAL LETTER L WITH LINE BELOW */
  {0x1E3B , L  }, /* LATIN SMALL LETTER L WITH LINE BELOW */
  {0x1E3C , L  }, /* LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW */
  {0x1E3D , L  }, /* LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW */
  {0x1E3E , L  }, /* LATIN CAPITAL LETTER M WITH ACUTE */
  {0x1E3F , L  }, /* LATIN SMALL LETTER M WITH ACUTE */
  {0x1E40 , L  }, /* LATIN CAPITAL LETTER M WITH DOT ABOVE */
  {0x1E41 , L  }, /* LATIN SMALL LETTER M WITH DOT ABOVE */
  {0x1E42 , L  }, /* LATIN CAPITAL LETTER M WITH DOT BELOW */
  {0x1E43 , L  }, /* LATIN SMALL LETTER M WITH DOT BELOW */
  {0x1E44 , L  }, /* LATIN CAPITAL LETTER N WITH DOT ABOVE */
  {0x1E45 , L  }, /* LATIN SMALL LETTER N WITH DOT ABOVE */
  {0x1E46 , L  }, /* LATIN CAPITAL LETTER N WITH DOT BELOW */
  {0x1E47 , L  }, /* LATIN SMALL LETTER N WITH DOT BELOW */
  {0x1E48 , L  }, /* LATIN CAPITAL LETTER N WITH LINE BELOW */
  {0x1E49 , L  }, /* LATIN SMALL LETTER N WITH LINE BELOW */
  {0x1E4A , L  }, /* LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW */
  {0x1E4B , L  }, /* LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW */
  {0x1E4C , L  }, /* LATIN CAPITAL LETTER O WITH TILDE AND ACUTE */
  {0x1E4D , L  }, /* LATIN SMALL LETTER O WITH TILDE AND ACUTE */
  {0x1E4E , L  }, /* LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS */
  {0x1E4F , L  }, /* LATIN SMALL LETTER O WITH TILDE AND DIAERESIS */
  {0x1E50 , L  }, /* LATIN CAPITAL LETTER O WITH MACRON AND GRAVE */
  {0x1E51 , L  }, /* LATIN SMALL LETTER O WITH MACRON AND GRAVE */
  {0x1E52 , L  }, /* LATIN CAPITAL LETTER O WITH MACRON AND ACUTE */
  {0x1E53 , L  }, /* LATIN SMALL LETTER O WITH MACRON AND ACUTE */
  {0x1E54 , L  }, /* LATIN CAPITAL LETTER P WITH ACUTE */
  {0x1E55 , L  }, /* LATIN SMALL LETTER P WITH ACUTE */
  {0x1E56 , L  }, /* LATIN CAPITAL LETTER P WITH DOT ABOVE */
  {0x1E57 , L  }, /* LATIN SMALL LETTER P WITH DOT ABOVE */
  {0x1E58 , L  }, /* LATIN CAPITAL LETTER R WITH DOT ABOVE */
  {0x1E59 , L  }, /* LATIN SMALL LETTER R WITH DOT ABOVE */
  {0x1E5A , L  }, /* LATIN CAPITAL LETTER R WITH DOT BELOW */
  {0x1E5B , L  }, /* LATIN SMALL LETTER R WITH DOT BELOW */
  {0x1E5C , L  }, /* LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON */
  {0x1E5D , L  }, /* LATIN SMALL LETTER R WITH DOT BELOW AND MACRON */
  {0x1E5E , L  }, /* LATIN CAPITAL LETTER R WITH LINE BELOW */
  {0x1E5F , L  }, /* LATIN SMALL LETTER R WITH LINE BELOW */
  {0x1E60 , L  }, /* LATIN CAPITAL LETTER S WITH DOT ABOVE */
  {0x1E61 , L  }, /* LATIN SMALL LETTER S WITH DOT ABOVE */
  {0x1E62 , L  }, /* LATIN CAPITAL LETTER S WITH DOT BELOW */
  {0x1E63 , L  }, /* LATIN SMALL LETTER S WITH DOT BELOW */
  {0x1E64 , L  }, /* LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE */
  {0x1E65 , L  }, /* LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE */
  {0x1E66 , L  }, /* LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE */
  {0x1E67 , L  }, /* LATIN SMALL LETTER S WITH CARON AND DOT ABOVE */
  {0x1E68 , L  }, /* LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE */
  {0x1E69 , L  }, /* LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE */
  {0x1E6A , L  }, /* LATIN CAPITAL LETTER T WITH DOT ABOVE */
  {0x1E6B , L  }, /* LATIN SMALL LETTER T WITH DOT ABOVE */
  {0x1E6C , L  }, /* LATIN CAPITAL LETTER T WITH DOT BELOW */
  {0x1E6D , L  }, /* LATIN SMALL LETTER T WITH DOT BELOW */
  {0x1E6E , L  }, /* LATIN CAPITAL LETTER T WITH LINE BELOW */
  {0x1E6F , L  }, /* LATIN SMALL LETTER T WITH LINE BELOW */
  {0x1E70 , L  }, /* LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW */
  {0x1E71 , L  }, /* LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW */
  {0x1E72 , L  }, /* LATIN CAPITAL LETTER U WITH DIAERESIS BELOW */
  {0x1E73 , L  }, /* LATIN SMALL LETTER U WITH DIAERESIS BELOW */
  {0x1E74 , L  }, /* LATIN CAPITAL LETTER U WITH TILDE BELOW */
  {0x1E75 , L  }, /* LATIN SMALL LETTER U WITH TILDE BELOW */
  {0x1E76 , L  }, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW */
  {0x1E77 , L  }, /* LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW */
  {0x1E78 , L  }, /* LATIN CAPITAL LETTER U WITH TILDE AND ACUTE */
  {0x1E79 , L  }, /* LATIN SMALL LETTER U WITH TILDE AND ACUTE */
  {0x1E7A , L  }, /* LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS */
  {0x1E7B , L  }, /* LATIN SMALL LETTER U WITH MACRON AND DIAERESIS */
  {0x1E7C , L  }, /* LATIN CAPITAL LETTER V WITH TILDE */
  {0x1E7D , L  }, /* LATIN SMALL LETTER V WITH TILDE */
  {0x1E7E , L  }, /* LATIN CAPITAL LETTER V WITH DOT BELOW */
  {0x1E7F , L  }, /* LATIN SMALL LETTER V WITH DOT BELOW */
  {0x1E80 , L  }, /* LATIN CAPITAL LETTER W WITH GRAVE */
  {0x1E81 , L  }, /* LATIN SMALL LETTER W WITH GRAVE */
  {0x1E82 , L  }, /* LATIN CAPITAL LETTER W WITH ACUTE */
  {0x1E83 , L  }, /* LATIN SMALL LETTER W WITH ACUTE */
  {0x1E84 , L  }, /* LATIN CAPITAL LETTER W WITH DIAERESIS */
  {0x1E85 , L  }, /* LATIN SMALL LETTER W WITH DIAERESIS */
  {0x1E86 , L  }, /* LATIN CAPITAL LETTER W WITH DOT ABOVE */
  {0x1E87 , L  }, /* LATIN SMALL LETTER W WITH DOT ABOVE */
  {0x1E88 , L  }, /* LATIN CAPITAL LETTER W WITH DOT BELOW */
  {0x1E89 , L  }, /* LATIN SMALL LETTER W WITH DOT BELOW */
  {0x1E8A , L  }, /* LATIN CAPITAL LETTER X WITH DOT ABOVE */
  {0x1E8B , L  }, /* LATIN SMALL LETTER X WITH DOT ABOVE */
  {0x1E8C , L  }, /* LATIN CAPITAL LETTER X WITH DIAERESIS */
  {0x1E8D , L  }, /* LATIN SMALL LETTER X WITH DIAERESIS */
  {0x1E8E , L  }, /* LATIN CAPITAL LETTER Y WITH DOT ABOVE */
  {0x1E8F , L  }, /* LATIN SMALL LETTER Y WITH DOT ABOVE */
  {0x1E90 , L  }, /* LATIN CAPITAL LETTER Z WITH CIRCUMFLEX */
  {0x1E91 , L  }, /* LATIN SMALL LETTER Z WITH CIRCUMFLEX */
  {0x1E92 , L  }, /* LATIN CAPITAL LETTER Z WITH DOT BELOW */
  {0x1E93 , L  }, /* LATIN SMALL LETTER Z WITH DOT BELOW */
  {0x1E94 , L  }, /* LATIN CAPITAL LETTER Z WITH LINE BELOW */
  {0x1E95 , L  }, /* LATIN SMALL LETTER Z WITH LINE BELOW */
  {0x1E96 , L  }, /* LATIN SMALL LETTER H WITH LINE BELOW */
  {0x1E97 , L  }, /* LATIN SMALL LETTER T WITH DIAERESIS */
  {0x1E98 , L  }, /* LATIN SMALL LETTER W WITH RING ABOVE */
  {0x1E99 , L  }, /* LATIN SMALL LETTER Y WITH RING ABOVE */
  {0x1E9A , L  }, /* LATIN SMALL LETTER A WITH RIGHT HALF RING */
  {0x1E9B , L  }, /* LATIN SMALL LETTER LONG S WITH DOT ABOVE */
  {0x1EA0 , L  }, /* LATIN CAPITAL LETTER A WITH DOT BELOW */
  {0x1EA1 , L  }, /* LATIN SMALL LETTER A WITH DOT BELOW */
  {0x1EA2 , L  }, /* LATIN CAPITAL LETTER A WITH HOOK ABOVE */
  {0x1EA3 , L  }, /* LATIN SMALL LETTER A WITH HOOK ABOVE */
  {0x1EA4 , L  }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
  {0x1EA5 , L  }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
  {0x1EA6 , L  }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
  {0x1EA7 , L  }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
  {0x1EA8 , L  }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
  {0x1EA9 , L  }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
  {0x1EAA , L  }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
  {0x1EAB , L  }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
  {0x1EAC , L  }, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
  {0x1EAD , L  }, /* LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
  {0x1EAE , L  }, /* LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
  {0x1EAF , L  }, /* LATIN SMALL LETTER A WITH BREVE AND ACUTE */
  {0x1EB0 , L  }, /* LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
  {0x1EB1 , L  }, /* LATIN SMALL LETTER A WITH BREVE AND GRAVE */
  {0x1EB2 , L  }, /* LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
  {0x1EB3 , L  }, /* LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
  {0x1EB4 , L  }, /* LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
  {0x1EB5 , L  }, /* LATIN SMALL LETTER A WITH BREVE AND TILDE */
  {0x1EB6 , L  }, /* LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
  {0x1EB7 , L  }, /* LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
  {0x1EB8 , L  }, /* LATIN CAPITAL LETTER E WITH DOT BELOW */
  {0x1EB9 , L  }, /* LATIN SMALL LETTER E WITH DOT BELOW */
  {0x1EBA , L  }, /* LATIN CAPITAL LETTER E WITH HOOK ABOVE */
  {0x1EBB , L  }, /* LATIN SMALL LETTER E WITH HOOK ABOVE */
  {0x1EBC , L  }, /* LATIN CAPITAL LETTER E WITH TILDE */
  {0x1EBD , L  }, /* LATIN SMALL LETTER E WITH TILDE */
  {0x1EBE , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
  {0x1EBF , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
  {0x1EC0 , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
  {0x1EC1 , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
  {0x1EC2 , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
  {0x1EC3 , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
  {0x1EC4 , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
  {0x1EC5 , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
  {0x1EC6 , L  }, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
  {0x1EC7 , L  }, /* LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
  {0x1EC8 , L  }, /* LATIN CAPITAL LETTER I WITH HOOK ABOVE */
  {0x1EC9 , L  }, /* LATIN SMALL LETTER I WITH HOOK ABOVE */
  {0x1ECA , L  }, /* LATIN CAPITAL LETTER I WITH DOT BELOW */
  {0x1ECB , L  }, /* LATIN SMALL LETTER I WITH DOT BELOW */
  {0x1ECC , L  }, /* LATIN CAPITAL LETTER O WITH DOT BELOW */
  {0x1ECD , L  }, /* LATIN SMALL LETTER O WITH DOT BELOW */
  {0x1ECE , L  }, /* LATIN CAPITAL LETTER O WITH HOOK ABOVE */
  {0x1ECF , L  }, /* LATIN SMALL LETTER O WITH HOOK ABOVE */
  {0x1ED0 , L  }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
  {0x1ED1 , L  }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
  {0x1ED2 , L  }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
  {0x1ED3 , L  }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
  {0x1ED4 , L  }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
  {0x1ED5 , L  }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
  {0x1ED6 , L  }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
  {0x1ED7 , L  }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
  {0x1ED8 , L  }, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
  {0x1ED9 , L  }, /* LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
  {0x1EDA , L  }, /* LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
  {0x1EDB , L  }, /* LATIN SMALL LETTER O WITH HORN AND ACUTE */
  {0x1EDC , L  }, /* LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
  {0x1EDD , L  }, /* LATIN SMALL LETTER O WITH HORN AND GRAVE */
  {0x1EDE , L  }, /* LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
  {0x1EDF , L  }, /* LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
  {0x1EE0 , L  }, /* LATIN CAPITAL LETTER O WITH HORN AND TILDE */
  {0x1EE1 , L  }, /* LATIN SMALL LETTER O WITH HORN AND TILDE */
  {0x1EE2 , L  }, /* LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
  {0x1EE3 , L  }, /* LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
  {0x1EE4 , L  }, /* LATIN CAPITAL LETTER U WITH DOT BELOW */
  {0x1EE5 , L  }, /* LATIN SMALL LETTER U WITH DOT BELOW */
  {0x1EE6 , L  }, /* LATIN CAPITAL LETTER U WITH HOOK ABOVE */
  {0x1EE7 , L  }, /* LATIN SMALL LETTER U WITH HOOK ABOVE */
  {0x1EE8 , L  }, /* LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
  {0x1EE9 , L  }, /* LATIN SMALL LETTER U WITH HORN AND ACUTE */
  {0x1EEA , L  }, /* LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
  {0x1EEB , L  }, /* LATIN SMALL LETTER U WITH HORN AND GRAVE */
  {0x1EEC , L  }, /* LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
  {0x1EED , L  }, /* LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
  {0x1EEE , L  }, /* LATIN CAPITAL LETTER U WITH HORN AND TILDE */
  {0x1EEF , L  }, /* LATIN SMALL LETTER U WITH HORN AND TILDE */
  {0x1EF0 , L  }, /* LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
  {0x1EF1 , L  }, /* LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
  {0x1EF2 , L  }, /* LATIN CAPITAL LETTER Y WITH GRAVE */
  {0x1EF3 , L  }, /* LATIN SMALL LETTER Y WITH GRAVE */
  {0x1EF4 , L  }, /* LATIN CAPITAL LETTER Y WITH DOT BELOW */
  {0x1EF5 , L  }, /* LATIN SMALL LETTER Y WITH DOT BELOW */
  {0x1EF6 , L  }, /* LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
  {0x1EF7 , L  }, /* LATIN SMALL LETTER Y WITH HOOK ABOVE */
  {0x1EF8 , L  }, /* LATIN CAPITAL LETTER Y WITH TILDE */
  {0x1EF9 , L  }, /* LATIN SMALL LETTER Y WITH TILDE */
  {0x1F00 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI */
  {0x1F01 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA */
  {0x1F02 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA */
  {0x1F03 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA */
  {0x1F04 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA */
  {0x1F05 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA */
  {0x1F06 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI */
  {0x1F07 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI */
  {0x1F08 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI */
  {0x1F09 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA */
  {0x1F0A , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA */
  {0x1F0B , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA */
  {0x1F0C , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA */
  {0x1F0D , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA */
  {0x1F0E , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI */
  {0x1F0F , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI */
  {0x1F10 , L  }, /* GREEK SMALL LETTER EPSILON WITH PSILI */
  {0x1F11 , L  }, /* GREEK SMALL LETTER EPSILON WITH DASIA */
  {0x1F12 , L  }, /* GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA */
  {0x1F13 , L  }, /* GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA */
  {0x1F14 , L  }, /* GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA */
  {0x1F15 , L  }, /* GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA */
  {0x1F18 , L  }, /* GREEK CAPITAL LETTER EPSILON WITH PSILI */
  {0x1F19 , L  }, /* GREEK CAPITAL LETTER EPSILON WITH DASIA */
  {0x1F1A , L  }, /* GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA */
  {0x1F1B , L  }, /* GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA */
  {0x1F1C , L  }, /* GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA */
  {0x1F1D , L  }, /* GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA */
  {0x1F20 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI */
  {0x1F21 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA */
  {0x1F22 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND VARIA */
  {0x1F23 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND VARIA */
  {0x1F24 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND OXIA */
  {0x1F25 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND OXIA */
  {0x1F26 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI */
  {0x1F27 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI */
  {0x1F28 , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI */
  {0x1F29 , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA */
  {0x1F2A , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA */
  {0x1F2B , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA */
  {0x1F2C , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA */
  {0x1F2D , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA */
  {0x1F2E , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI */
  {0x1F2F , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI */
  {0x1F30 , L  }, /* GREEK SMALL LETTER IOTA WITH PSILI */
  {0x1F31 , L  }, /* GREEK SMALL LETTER IOTA WITH DASIA */
  {0x1F32 , L  }, /* GREEK SMALL LETTER IOTA WITH PSILI AND VARIA */
  {0x1F33 , L  }, /* GREEK SMALL LETTER IOTA WITH DASIA AND VARIA */
  {0x1F34 , L  }, /* GREEK SMALL LETTER IOTA WITH PSILI AND OXIA */
  {0x1F35 , L  }, /* GREEK SMALL LETTER IOTA WITH DASIA AND OXIA */
  {0x1F36 , L  }, /* GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI */
  {0x1F37 , L  }, /* GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI */
  {0x1F38 , L  }, /* GREEK CAPITAL LETTER IOTA WITH PSILI */
  {0x1F39 , L  }, /* GREEK CAPITAL LETTER IOTA WITH DASIA */
  {0x1F3A , L  }, /* GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA */
  {0x1F3B , L  }, /* GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA */
  {0x1F3C , L  }, /* GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA */
  {0x1F3D , L  }, /* GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA */
  {0x1F3E , L  }, /* GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI */
  {0x1F3F , L  }, /* GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI */
  {0x1F40 , L  }, /* GREEK SMALL LETTER OMICRON WITH PSILI */
  {0x1F41 , L  }, /* GREEK SMALL LETTER OMICRON WITH DASIA */
  {0x1F42 , L  }, /* GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA */
  {0x1F43 , L  }, /* GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA */
  {0x1F44 , L  }, /* GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA */
  {0x1F45 , L  }, /* GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA */
  {0x1F48 , L  }, /* GREEK CAPITAL LETTER OMICRON WITH PSILI */
  {0x1F49 , L  }, /* GREEK CAPITAL LETTER OMICRON WITH DASIA */
  {0x1F4A , L  }, /* GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA */
  {0x1F4B , L  }, /* GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA */
  {0x1F4C , L  }, /* GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA */
  {0x1F4D , L  }, /* GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA */
  {0x1F50 , L  }, /* GREEK SMALL LETTER UPSILON WITH PSILI */
  {0x1F51 , L  }, /* GREEK SMALL LETTER UPSILON WITH DASIA */
  {0x1F52 , L  }, /* GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA */
  {0x1F53 , L  }, /* GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA */
  {0x1F54 , L  }, /* GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA */
  {0x1F55 , L  }, /* GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA */
  {0x1F56 , L  }, /* GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI */
  {0x1F57 , L  }, /* GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI */
  {0x1F59 , L  }, /* GREEK CAPITAL LETTER UPSILON WITH DASIA */
  {0x1F5B , L  }, /* GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA */
  {0x1F5D , L  }, /* GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA */
  {0x1F5F , L  }, /* GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI */
  {0x1F60 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI */
  {0x1F61 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA */
  {0x1F62 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA */
  {0x1F63 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA */
  {0x1F64 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA */
  {0x1F65 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA */
  {0x1F66 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI */
  {0x1F67 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI */
  {0x1F68 , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI */
  {0x1F69 , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA */
  {0x1F6A , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA */
  {0x1F6B , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA */
  {0x1F6C , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA */
  {0x1F6D , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA */
  {0x1F6E , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI */
  {0x1F6F , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI */
  {0x1F70 , L  }, /* GREEK SMALL LETTER ALPHA WITH VARIA */
  {0x1F71 , L  }, /* GREEK SMALL LETTER ALPHA WITH OXIA */
  {0x1F72 , L  }, /* GREEK SMALL LETTER EPSILON WITH VARIA */
  {0x1F73 , L  }, /* GREEK SMALL LETTER EPSILON WITH OXIA */
  {0x1F74 , L  }, /* GREEK SMALL LETTER ETA WITH VARIA */
  {0x1F75 , L  }, /* GREEK SMALL LETTER ETA WITH OXIA */
  {0x1F76 , L  }, /* GREEK SMALL LETTER IOTA WITH VARIA */
  {0x1F77 , L  }, /* GREEK SMALL LETTER IOTA WITH OXIA */
  {0x1F78 , L  }, /* GREEK SMALL LETTER OMICRON WITH VARIA */
  {0x1F79 , L  }, /* GREEK SMALL LETTER OMICRON WITH OXIA */
  {0x1F7A , L  }, /* GREEK SMALL LETTER UPSILON WITH VARIA */
  {0x1F7B , L  }, /* GREEK SMALL LETTER UPSILON WITH OXIA */
  {0x1F7C , L  }, /* GREEK SMALL LETTER OMEGA WITH VARIA */
  {0x1F7D , L  }, /* GREEK SMALL LETTER OMEGA WITH OXIA */
  {0x1F80 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI */
  {0x1F81 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI */
  {0x1F82 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI */
  {0x1F83 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI */
  {0x1F84 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI */
  {0x1F85 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI */
  {0x1F86 , L  }, /* GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */
  {0x1F87 , L  }, /* GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */
  {0x1F88 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI */
  {0x1F89 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI */
  {0x1F8A , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
  {0x1F8B , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
  {0x1F8C , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
  {0x1F8D , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
  {0x1F8E , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
  {0x1F8F , L  }, /* GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
  {0x1F90 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI */
  {0x1F91 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI */
  {0x1F92 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI */
  {0x1F93 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI */
  {0x1F94 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI */
  {0x1F95 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI */
  {0x1F96 , L  }, /* GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */
  {0x1F97 , L  }, /* GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */
  {0x1F98 , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI */
  {0x1F99 , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI */
  {0x1F9A , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
  {0x1F9B , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
  {0x1F9C , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
  {0x1F9D , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
  {0x1F9E , L  }, /* GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
  {0x1F9F , L  }, /* GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
  {0x1FA0 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI */
  {0x1FA1 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI */
  {0x1FA2 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI */
  {0x1FA3 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI */
  {0x1FA4 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI */
  {0x1FA5 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI */
  {0x1FA6 , L  }, /* GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */
  {0x1FA7 , L  }, /* GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */
  {0x1FA8 , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI */
  {0x1FA9 , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI */
  {0x1FAA , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */
  {0x1FAB , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */
  {0x1FAC , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */
  {0x1FAD , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */
  {0x1FAE , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */
  {0x1FAF , L  }, /* GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */
  {0x1FB0 , L  }, /* GREEK SMALL LETTER ALPHA WITH VRACHY */
  {0x1FB1 , L  }, /* GREEK SMALL LETTER ALPHA WITH MACRON */
  {0x1FB2 , L  }, /* GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI */
  {0x1FB3 , L  }, /* GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI */
  {0x1FB4 , L  }, /* GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI */
  {0x1FB6 , L  }, /* GREEK SMALL LETTER ALPHA WITH PERISPOMENI */
  {0x1FB7 , L  }, /* GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI */
  {0x1FB8 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH VRACHY */
  {0x1FB9 , L  }, /* GREEK CAPITAL LETTER ALPHA WITH MACRON */
  {0x1FBA , L  }, /* GREEK CAPITAL LETTER ALPHA WITH VARIA */
  {0x1FBB , L  }, /* GREEK CAPITAL LETTER ALPHA WITH OXIA */
  {0x1FBC , L  }, /* GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI */
  {0x1FBD , ON }, /* GREEK KORONIS */
  {0x1FBE , L  }, /* GREEK PROSGEGRAMMENI */
  {0x1FBF , ON }, /* GREEK PSILI */
  {0x1FC0 , ON }, /* GREEK PERISPOMENI */
  {0x1FC1 , ON }, /* GREEK DIALYTIKA AND PERISPOMENI */
  {0x1FC2 , L  }, /* GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI */
  {0x1FC3 , L  }, /* GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI */
  {0x1FC4 , L  }, /* GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI */
  {0x1FC6 , L  }, /* GREEK SMALL LETTER ETA WITH PERISPOMENI */
  {0x1FC7 , L  }, /* GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI */
  {0x1FC8 , L  }, /* GREEK CAPITAL LETTER EPSILON WITH VARIA */
  {0x1FC9 , L  }, /* GREEK CAPITAL LETTER EPSILON WITH OXIA */
  {0x1FCA , L  }, /* GREEK CAPITAL LETTER ETA WITH VARIA */
  {0x1FCB , L  }, /* GREEK CAPITAL LETTER ETA WITH OXIA */
  {0x1FCC , L  }, /* GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI */
  {0x1FCD , ON }, /* GREEK PSILI AND VARIA */
  {0x1FCE , ON }, /* GREEK PSILI AND OXIA */
  {0x1FCF , ON }, /* GREEK PSILI AND PERISPOMENI */
  {0x1FD0 , L  }, /* GREEK SMALL LETTER IOTA WITH VRACHY */
  {0x1FD1 , L  }, /* GREEK SMALL LETTER IOTA WITH MACRON */
  {0x1FD2 , L  }, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA */
  {0x1FD3 , L  }, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA */
  {0x1FD6 , L  }, /* GREEK SMALL LETTER IOTA WITH PERISPOMENI */
  {0x1FD7 , L  }, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI */
  {0x1FD8 , L  }, /* GREEK CAPITAL LETTER IOTA WITH VRACHY */
  {0x1FD9 , L  }, /* GREEK CAPITAL LETTER IOTA WITH MACRON */
  {0x1FDA , L  }, /* GREEK CAPITAL LETTER IOTA WITH VARIA */
  {0x1FDB , L  }, /* GREEK CAPITAL LETTER IOTA WITH OXIA */
  {0x1FDD , ON }, /* GREEK DASIA AND VARIA */
  {0x1FDE , ON }, /* GREEK DASIA AND OXIA */
  {0x1FDF , ON }, /* GREEK DASIA AND PERISPOMENI */
  {0x1FE0 , L  }, /* GREEK SMALL LETTER UPSILON WITH VRACHY */
  {0x1FE1 , L  }, /* GREEK SMALL LETTER UPSILON WITH MACRON */
  {0x1FE2 , L  }, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA */
  {0x1FE3 , L  }, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA */
  {0x1FE4 , L  }, /* GREEK SMALL LETTER RHO WITH PSILI */
  {0x1FE5 , L  }, /* GREEK SMALL LETTER RHO WITH DASIA */
  {0x1FE6 , L  }, /* GREEK SMALL LETTER UPSILON WITH PERISPOMENI */
  {0x1FE7 , L  }, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI */
  {0x1FE8 , L  }, /* GREEK CAPITAL LETTER UPSILON WITH VRACHY */
  {0x1FE9 , L  }, /* GREEK CAPITAL LETTER UPSILON WITH MACRON */
  {0x1FEA , L  }, /* GREEK CAPITAL LETTER UPSILON WITH VARIA */
  {0x1FEB , L  }, /* GREEK CAPITAL LETTER UPSILON WITH OXIA */
  {0x1FEC , L  }, /* GREEK CAPITAL LETTER RHO WITH DASIA */
  {0x1FED , ON }, /* GREEK DIALYTIKA AND VARIA */
  {0x1FEE , ON }, /* GREEK DIALYTIKA AND OXIA */
  {0x1FEF , ON }, /* GREEK VARIA */
  {0x1FF2 , L  }, /* GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI */
  {0x1FF3 , L  }, /* GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI */
  {0x1FF4 , L  }, /* GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI */
  {0x1FF6 , L  }, /* GREEK SMALL LETTER OMEGA WITH PERISPOMENI */
  {0x1FF7 , L  }, /* GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI */
  {0x1FF8 , L  }, /* GREEK CAPITAL LETTER OMICRON WITH VARIA */
  {0x1FF9 , L  }, /* GREEK CAPITAL LETTER OMICRON WITH OXIA */
  {0x1FFA , L  }, /* GREEK CAPITAL LETTER OMEGA WITH VARIA */
  {0x1FFB , L  }, /* GREEK CAPITAL LETTER OMEGA WITH OXIA */
  {0x1FFC , L  }, /* GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI */
  {0x1FFD , ON }, /* GREEK OXIA */
  {0x1FFE , ON }, /* GREEK DASIA */
  {0x2000 , WS }, /* EN QUAD */
  {0x2001 , WS }, /* EM QUAD */
  {0x2002 , WS }, /* EN SPACE */
  {0x2003 , WS }, /* EM SPACE */
  {0x2004 , WS }, /* THREE-PER-EM SPACE */
  {0x2005 , WS }, /* FOUR-PER-EM SPACE */
  {0x2006 , WS }, /* SIX-PER-EM SPACE */
  {0x2007 , WS }, /* FIGURE SPACE */
  {0x2008 , WS }, /* PUNCTUATION SPACE */
  {0x2009 , WS }, /* THIN SPACE */
  {0x200A , WS }, /* HAIR SPACE */
  {0x200B , BN }, /* ZERO WIDTH SPACE */
  {0x200C , BN }, /* ZERO WIDTH NON-JOINER */
  {0x200D , BN }, /* ZERO WIDTH JOINER */
  {0x200E , L  }, /* LEFT-TO-RIGHT MARK */
  {0x200F , R  }, /* RIGHT-TO-LEFT MARK */
  {0x2010 , ON }, /* HYPHEN */
  {0x2011 , ON }, /* NON-BREAKING HYPHEN */
  {0x2012 , ON }, /* FIGURE DASH */
  {0x2013 , ON }, /* EN DASH */
  {0x2014 , ON }, /* EM DASH */
  {0x2015 , ON }, /* HORIZONTAL BAR */
  {0x2016 , ON }, /* DOUBLE VERTICAL LINE */
  {0x2017 , ON }, /* DOUBLE LOW LINE */
  {0x2018 , ON }, /* LEFT SINGLE QUOTATION MARK */
  {0x2019 , ON }, /* RIGHT SINGLE QUOTATION MARK */
  {0x201A , ON }, /* SINGLE LOW-9 QUOTATION MARK */
  {0x201B , ON }, /* SINGLE HIGH-REVERSED-9 QUOTATION MARK */
  {0x201C , ON }, /* LEFT DOUBLE QUOTATION MARK */
  {0x201D , ON }, /* RIGHT DOUBLE QUOTATION MARK */
  {0x201E , ON }, /* DOUBLE LOW-9 QUOTATION MARK */
  {0x201F , ON }, /* DOUBLE HIGH-REVERSED-9 QUOTATION MARK */
  {0x2020 , ON }, /* DAGGER */
  {0x2021 , ON }, /* DOUBLE DAGGER */
  {0x2022 , ON }, /* BULLET */
  {0x2023 , ON }, /* TRIANGULAR BULLET */
  {0x2024 , ON }, /* ONE DOT LEADER */
  {0x2025 , ON }, /* TWO DOT LEADER */
  {0x2026 , ON }, /* HORIZONTAL ELLIPSIS */
  {0x2027 , ON }, /* HYPHENATION POINT */
  {0x2028 , WS }, /* LINE SEPARATOR */
  {0x2029 , B  }, /* PARAGRAPH SEPARATOR */
  {0x202A , LRE}, /* LEFT-TO-RIGHT EMBEDDING */
  {0x202B , RLE}, /* RIGHT-TO-LEFT EMBEDDING */
  {0x202C , PDF}, /* POP DIRECTIONAL FORMATTING */
  {0x202D , LRO}, /* LEFT-TO-RIGHT OVERRIDE */
  {0x202E , RLO}, /* RIGHT-TO-LEFT OVERRIDE */
  {0x202F , CS }, /* NARROW NO-BREAK SPACE */
  {0x2030 , ET }, /* PER MILLE SIGN */
  {0x2031 , ET }, /* PER TEN THOUSAND SIGN */
  {0x2032 , ET }, /* PRIME */
  {0x2033 , ET }, /* DOUBLE PRIME */
  {0x2034 , ET }, /* TRIPLE PRIME */
  {0x2035 , ON }, /* REVERSED PRIME */
  {0x2036 , ON }, /* REVERSED DOUBLE PRIME */
  {0x2037 , ON }, /* REVERSED TRIPLE PRIME */
  {0x2038 , ON }, /* CARET */
  {0x2039 , ON }, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
  {0x203A , ON }, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
  {0x203B , ON }, /* REFERENCE MARK */
  {0x203C , ON }, /* DOUBLE EXCLAMATION MARK */
  {0x203D , ON }, /* INTERROBANG */
  {0x203E , ON }, /* OVERLINE */
  {0x203F , ON }, /* UNDERTIE */
  {0x2040 , ON }, /* CHARACTER TIE */
  {0x2041 , ON }, /* CARET INSERTION POINT */
  {0x2042 , ON }, /* ASTERISM */
  {0x2043 , ON }, /* HYPHEN BULLET */
  {0x2044 , CS }, /* FRACTION SLASH */
  {0x2045 , ON }, /* LEFT SQUARE BRACKET WITH QUILL */
  {0x2046 , ON }, /* RIGHT SQUARE BRACKET WITH QUILL */
  {0x2047 , ON }, /* DOUBLE QUESTION MARK */
  {0x2048 , ON }, /* QUESTION EXCLAMATION MARK */
  {0x2049 , ON }, /* EXCLAMATION QUESTION MARK */
  {0x204A , ON }, /* TIRONIAN SIGN ET */
  {0x204B , ON }, /* REVERSED PILCROW SIGN */
  {0x204C , ON }, /* BLACK LEFTWARDS BULLET */
  {0x204D , ON }, /* BLACK RIGHTWARDS BULLET */
  {0x204E , ON }, /* LOW ASTERISK */
  {0x204F , ON }, /* REVERSED SEMICOLON */
  {0x2050 , ON }, /* CLOSE UP */
  {0x2051 , ON }, /* TWO ASTERISKS ALIGNED VERTICALLY */
  {0x2052 , ON }, /* COMMERCIAL MINUS SIGN */
  {0x2053 , ON }, /* SWUNG DASH */
  {0x2054 , ON }, /* INVERTED UNDERTIE */
  {0x2055 , ON }, /* FLOWER PUNCTUATION MARK */
  {0x2056 , ON }, /* THREE DOT PUNCTUATION */
  {0x2057 , ON }, /* QUADRUPLE PRIME */
  {0x2058 , ON }, /* FOUR DOT PUNCTUATION */
  {0x2059 , ON }, /* FIVE DOT PUNCTUATION */
  {0x205A , ON }, /* TWO DOT PUNCTUATION */
  {0x205B , ON }, /* FOUR DOT MARK */
  {0x205C , ON }, /* DOTTED CROSS */
  {0x205D , ON }, /* TRICOLON */
  {0x205E , ON }, /* VERTICAL FOUR DOTS */
  {0x205F , WS }, /* MEDIUM MATHEMATICAL SPACE */
  {0x2060 , BN }, /* WORD JOINER */
  {0x2061 , BN }, /* FUNCTION APPLICATION */
  {0x2062 , BN }, /* INVISIBLE TIMES */
  {0x2063 , BN }, /* INVISIBLE SEPARATOR */
  {0x206A , BN }, /* INHIBIT SYMMETRIC SWAPPING */
  {0x206B , BN }, /* ACTIVATE SYMMETRIC SWAPPING */
  {0x206C , BN }, /* INHIBIT ARABIC FORM SHAPING */
  {0x206D , BN }, /* ACTIVATE ARABIC FORM SHAPING */
  {0x206E , BN }, /* NATIONAL DIGIT SHAPES */
  {0x206F , BN }, /* NOMINAL DIGIT SHAPES */
  {0x2070 , EN }, /* SUPERSCRIPT ZERO */
  {0x2071 , L  }, /* SUPERSCRIPT LATIN SMALL LETTER I */
  {0x2074 , EN }, /* SUPERSCRIPT FOUR */
  {0x2075 , EN }, /* SUPERSCRIPT FIVE */
  {0x2076 , EN }, /* SUPERSCRIPT SIX */
  {0x2077 , EN }, /* SUPERSCRIPT SEVEN */
  {0x2078 , EN }, /* SUPERSCRIPT EIGHT */
  {0x2079 , EN }, /* SUPERSCRIPT NINE */
  {0x207A , ES }, /* SUPERSCRIPT PLUS SIGN */
  {0x207B , ES }, /* SUPERSCRIPT MINUS */
  {0x207C , ON }, /* SUPERSCRIPT EQUALS SIGN */
  {0x207D , ON }, /* SUPERSCRIPT LEFT PARENTHESIS */
  {0x207E , ON }, /* SUPERSCRIPT RIGHT PARENTHESIS */
  {0x207F , L  }, /* SUPERSCRIPT LATIN SMALL LETTER N */
  {0x2080 , EN }, /* SUBSCRIPT ZERO */
  {0x2081 , EN }, /* SUBSCRIPT ONE */
  {0x2082 , EN }, /* SUBSCRIPT TWO */
  {0x2083 , EN }, /* SUBSCRIPT THREE */
  {0x2084 , EN }, /* SUBSCRIPT FOUR */
  {0x2085 , EN }, /* SUBSCRIPT FIVE */
  {0x2086 , EN }, /* SUBSCRIPT SIX */
  {0x2087 , EN }, /* SUBSCRIPT SEVEN */
  {0x2088 , EN }, /* SUBSCRIPT EIGHT */
  {0x2089 , EN }, /* SUBSCRIPT NINE */
  {0x208A , ES }, /* SUBSCRIPT PLUS SIGN */
  {0x208B , ES }, /* SUBSCRIPT MINUS */
  {0x208C , ON }, /* SUBSCRIPT EQUALS SIGN */
  {0x208D , ON }, /* SUBSCRIPT LEFT PARENTHESIS */
  {0x208E , ON }, /* SUBSCRIPT RIGHT PARENTHESIS */
  {0x2090 , L  }, /* LATIN SUBSCRIPT SMALL LETTER A */
  {0x2091 , L  }, /* LATIN SUBSCRIPT SMALL LETTER E */
  {0x2092 , L  }, /* LATIN SUBSCRIPT SMALL LETTER O */
  {0x2093 , L  }, /* LATIN SUBSCRIPT SMALL LETTER X */
  {0x2094 , L  }, /* LATIN SUBSCRIPT SMALL LETTER SCHWA */
  {0x20A0 , ET }, /* EURO-CURRENCY SIGN */
  {0x20A1 , ET }, /* COLON SIGN */
  {0x20A2 , ET }, /* CRUZEIRO SIGN */
  {0x20A3 , ET }, /* FRENCH FRANC SIGN */
  {0x20A4 , ET }, /* LIRA SIGN */
  {0x20A5 , ET }, /* MILL SIGN */
  {0x20A6 , ET }, /* NAIRA SIGN */
  {0x20A7 , ET }, /* PESETA SIGN */
  {0x20A8 , ET }, /* RUPEE SIGN */
  {0x20A9 , ET }, /* WON SIGN */
  {0x20AA , ET }, /* NEW SHEQEL SIGN */
  {0x20AB , ET }, /* DONG SIGN */
  {0x20AC , ET }, /* EURO SIGN */
  {0x20AD , ET }, /* KIP SIGN */
  {0x20AE , ET }, /* TUGRIK SIGN */
  {0x20AF , ET }, /* DRACHMA SIGN */
  {0x20B0 , ET }, /* GERMAN PENNY SIGN */
  {0x20B1 , ET }, /* PESO SIGN */
  {0x20B2 , ET }, /* GUARANI SIGN */
  {0x20B3 , ET }, /* AUSTRAL SIGN */
  {0x20B4 , ET }, /* HRYVNIA SIGN */
  {0x20B5 , ET }, /* CEDI SIGN */
  {0x20D0 , NSM}, /* COMBINING LEFT HARPOON ABOVE */
  {0x20D1 , NSM}, /* COMBINING RIGHT HARPOON ABOVE */
  {0x20D2 , NSM}, /* COMBINING LONG VERTICAL LINE OVERLAY */
  {0x20D3 , NSM}, /* COMBINING SHORT VERTICAL LINE OVERLAY */
  {0x20D4 , NSM}, /* COMBINING ANTICLOCKWISE ARROW ABOVE */
  {0x20D5 , NSM}, /* COMBINING CLOCKWISE ARROW ABOVE */
  {0x20D6 , NSM}, /* COMBINING LEFT ARROW ABOVE */
  {0x20D7 , NSM}, /* COMBINING RIGHT ARROW ABOVE */
  {0x20D8 , NSM}, /* COMBINING RING OVERLAY */
  {0x20D9 , NSM}, /* COMBINING CLOCKWISE RING OVERLAY */
  {0x20DA , NSM}, /* COMBINING ANTICLOCKWISE RING OVERLAY */
  {0x20DB , NSM}, /* COMBINING THREE DOTS ABOVE */
  {0x20DC , NSM}, /* COMBINING FOUR DOTS ABOVE */
  {0x20DD , NSM}, /* COMBINING ENCLOSING CIRCLE */
  {0x20DE , NSM}, /* COMBINING ENCLOSING SQUARE */
  {0x20DF , NSM}, /* COMBINING ENCLOSING DIAMOND */
  {0x20E0 , NSM}, /* COMBINING ENCLOSING CIRCLE BACKSLASH */
  {0x20E1 , NSM}, /* COMBINING LEFT RIGHT ARROW ABOVE */
  {0x20E2 , NSM}, /* COMBINING ENCLOSING SCREEN */
  {0x20E3 , NSM}, /* COMBINING ENCLOSING KEYCAP */
  {0x20E4 , NSM}, /* COMBINING ENCLOSING UPWARD POINTING TRIANGLE */
  {0x20E5 , NSM}, /* COMBINING REVERSE SOLIDUS OVERLAY */
  {0x20E6 , NSM}, /* COMBINING DOUBLE VERTICAL STROKE OVERLAY */
  {0x20E7 , NSM}, /* COMBINING ANNUITY SYMBOL */
  {0x20E8 , NSM}, /* COMBINING TRIPLE UNDERDOT */
  {0x20E9 , NSM}, /* COMBINING WIDE BRIDGE ABOVE */
  {0x20EA , NSM}, /* COMBINING LEFTWARDS ARROW OVERLAY */
  {0x20EB , NSM}, /* COMBINING LONG DOUBLE SOLIDUS OVERLAY */
  {0x2100 , ON }, /* ACCOUNT OF */
  {0x2101 , ON }, /* ADDRESSED TO THE SUBJECT */
  {0x2102 , L  }, /* DOUBLE-STRUCK CAPITAL C */
  {0x2103 , ON }, /* DEGREE CELSIUS */
  {0x2104 , ON }, /* CENTRE LINE SYMBOL */
  {0x2105 , ON }, /* CARE OF */
  {0x2106 , ON }, /* CADA UNA */
  {0x2107 , L  }, /* EULER CONSTANT */
  {0x2108 , ON }, /* SCRUPLE */
  {0x2109 , ON }, /* DEGREE FAHRENHEIT */
  {0x210A , L  }, /* SCRIPT SMALL G */
  {0x210B , L  }, /* SCRIPT CAPITAL H */
  {0x210C , L  }, /* BLACK-LETTER CAPITAL H */
  {0x210D , L  }, /* DOUBLE-STRUCK CAPITAL H */
  {0x210E , L  }, /* PLANCK CONSTANT */
  {0x210F , L  }, /* PLANCK CONSTANT OVER TWO PI */
  {0x2110 , L  }, /* SCRIPT CAPITAL I */
  {0x2111 , L  }, /* BLACK-LETTER CAPITAL I */
  {0x2112 , L  }, /* SCRIPT CAPITAL L */
  {0x2113 , L  }, /* SCRIPT SMALL L */
  {0x2114 , ON }, /* L B BAR SYMBOL */
  {0x2115 , L  }, /* DOUBLE-STRUCK CAPITAL N */
  {0x2116 , ON }, /* NUMERO SIGN */
  {0x2117 , ON }, /* SOUND RECORDING COPYRIGHT */
  {0x2118 , ON }, /* SCRIPT CAPITAL P */
  {0x2119 , L  }, /* DOUBLE-STRUCK CAPITAL P */
  {0x211A , L  }, /* DOUBLE-STRUCK CAPITAL Q */
  {0x211B , L  }, /* SCRIPT CAPITAL R */
  {0x211C , L  }, /* BLACK-LETTER CAPITAL R */
  {0x211D , L  }, /* DOUBLE-STRUCK CAPITAL R */
  {0x211E , ON }, /* PRESCRIPTION TAKE */
  {0x211F , ON }, /* RESPONSE */
  {0x2120 , ON }, /* SERVICE MARK */
  {0x2121 , ON }, /* TELEPHONE SIGN */
  {0x2122 , ON }, /* TRADE MARK SIGN */
  {0x2123 , ON }, /* VERSICLE */
  {0x2124 , L  }, /* DOUBLE-STRUCK CAPITAL Z */
  {0x2125 , ON }, /* OUNCE SIGN */
  {0x2126 , L  }, /* OHM SIGN */
  {0x2127 , ON }, /* INVERTED OHM SIGN */
  {0x2128 , L  }, /* BLACK-LETTER CAPITAL Z */
  {0x2129 , ON }, /* TURNED GREEK SMALL LETTER IOTA */
  {0x212A , L  }, /* KELVIN SIGN */
  {0x212B , L  }, /* ANGSTROM SIGN */
  {0x212C , L  }, /* SCRIPT CAPITAL B */
  {0x212D , L  }, /* BLACK-LETTER CAPITAL C */
  {0x212E , ET }, /* ESTIMATED SYMBOL */
  {0x212F , L  }, /* SCRIPT SMALL E */
  {0x2130 , L  }, /* SCRIPT CAPITAL E */
  {0x2131 , L  }, /* SCRIPT CAPITAL F */
  {0x2132 , ON }, /* TURNED CAPITAL F */
  {0x2133 , L  }, /* SCRIPT CAPITAL M */
  {0x2134 , L  }, /* SCRIPT SMALL O */
  {0x2135 , L  }, /* ALEF SYMBOL */
  {0x2136 , L  }, /* BET SYMBOL */
  {0x2137 , L  }, /* GIMEL SYMBOL */
  {0x2138 , L  }, /* DALET SYMBOL */
  {0x2139 , L  }, /* INFORMATION SOURCE */
  {0x213A , ON }, /* ROTATED CAPITAL Q */
  {0x213B , ON }, /* FACSIMILE SIGN */
  {0x213C , L  }, /* DOUBLE-STRUCK SMALL PI */
  {0x213D , L  }, /* DOUBLE-STRUCK SMALL GAMMA */
  {0x213E , L  }, /* DOUBLE-STRUCK CAPITAL GAMMA */
  {0x213F , L  }, /* DOUBLE-STRUCK CAPITAL PI */
  {0x2140 , ON }, /* DOUBLE-STRUCK N-ARY SUMMATION */
  {0x2141 , ON }, /* TURNED SANS-SERIF CAPITAL G */
  {0x2142 , ON }, /* TURNED SANS-SERIF CAPITAL L */
  {0x2143 , ON }, /* REVERSED SANS-SERIF CAPITAL L */
  {0x2144 , ON }, /* TURNED SANS-SERIF CAPITAL Y */
  {0x2145 , L  }, /* DOUBLE-STRUCK ITALIC CAPITAL D */
  {0x2146 , L  }, /* DOUBLE-STRUCK ITALIC SMALL D */
  {0x2147 , L  }, /* DOUBLE-STRUCK ITALIC SMALL E */
  {0x2148 , L  }, /* DOUBLE-STRUCK ITALIC SMALL I */
  {0x2149 , L  }, /* DOUBLE-STRUCK ITALIC SMALL J */
  {0x214A , ON }, /* PROPERTY LINE */
  {0x214B , ON }, /* TURNED AMPERSAND */
  {0x214C , ON }, /* PER SIGN */
  {0x2153 , ON }, /* VULGAR FRACTION ONE THIRD */
  {0x2154 , ON }, /* VULGAR FRACTION TWO THIRDS */
  {0x2155 , ON }, /* VULGAR FRACTION ONE FIFTH */
  {0x2156 , ON }, /* VULGAR FRACTION TWO FIFTHS */
  {0x2157 , ON }, /* VULGAR FRACTION THREE FIFTHS */
  {0x2158 , ON }, /* VULGAR FRACTION FOUR FIFTHS */
  {0x2159 , ON }, /* VULGAR FRACTION ONE SIXTH */
  {0x215A , ON }, /* VULGAR FRACTION FIVE SIXTHS */
  {0x215B , ON }, /* VULGAR FRACTION ONE EIGHTH */
  {0x215C , ON }, /* VULGAR FRACTION THREE EIGHTHS */
  {0x215D , ON }, /* VULGAR FRACTION FIVE EIGHTHS */
  {0x215E , ON }, /* VULGAR FRACTION SEVEN EIGHTHS */
  {0x215F , ON }, /* FRACTION NUMERATOR ONE */
  {0x2160 , L  }, /* ROMAN NUMERAL ONE */
  {0x2161 , L  }, /* ROMAN NUMERAL TWO */
  {0x2162 , L  }, /* ROMAN NUMERAL THREE */
  {0x2163 , L  }, /* ROMAN NUMERAL FOUR */
  {0x2164 , L  }, /* ROMAN NUMERAL FIVE */
  {0x2165 , L  }, /* ROMAN NUMERAL SIX */
  {0x2166 , L  }, /* ROMAN NUMERAL SEVEN */
  {0x2167 , L  }, /* ROMAN NUMERAL EIGHT */
  {0x2168 , L  }, /* ROMAN NUMERAL NINE */
  {0x2169 , L  }, /* ROMAN NUMERAL TEN */
  {0x216A , L  }, /* ROMAN NUMERAL ELEVEN */
  {0x216B , L  }, /* ROMAN NUMERAL TWELVE */
  {0x216C , L  }, /* ROMAN NUMERAL FIFTY */
  {0x216D , L  }, /* ROMAN NUMERAL ONE HUNDRED */
  {0x216E , L  }, /* ROMAN NUMERAL FIVE HUNDRED */
  {0x216F , L  }, /* ROMAN NUMERAL ONE THOUSAND */
  {0x2170 , L  }, /* SMALL ROMAN NUMERAL ONE */
  {0x2171 , L  }, /* SMALL ROMAN NUMERAL TWO */
  {0x2172 , L  }, /* SMALL ROMAN NUMERAL THREE */
  {0x2173 , L  }, /* SMALL ROMAN NUMERAL FOUR */
  {0x2174 , L  }, /* SMALL ROMAN NUMERAL FIVE */
  {0x2175 , L  }, /* SMALL ROMAN NUMERAL SIX */
  {0x2176 , L  }, /* SMALL ROMAN NUMERAL SEVEN */
  {0x2177 , L  }, /* SMALL ROMAN NUMERAL EIGHT */
  {0x2178 , L  }, /* SMALL ROMAN NUMERAL NINE */
  {0x2179 , L  }, /* SMALL ROMAN NUMERAL TEN */
  {0x217A , L  }, /* SMALL ROMAN NUMERAL ELEVEN */
  {0x217B , L  }, /* SMALL ROMAN NUMERAL TWELVE */
  {0x217C , L  }, /* SMALL ROMAN NUMERAL FIFTY */
  {0x217D , L  }, /* SMALL ROMAN NUMERAL ONE HUNDRED */
  {0x217E , L  }, /* SMALL ROMAN NUMERAL FIVE HUNDRED */
  {0x217F , L  }, /* SMALL ROMAN NUMERAL ONE THOUSAND */
  {0x2180 , L  }, /* ROMAN NUMERAL ONE THOUSAND C D */
  {0x2181 , L  }, /* ROMAN NUMERAL FIVE THOUSAND */
  {0x2182 , L  }, /* ROMAN NUMERAL TEN THOUSAND */
  {0x2183 , L  }, /* ROMAN NUMERAL REVERSED ONE HUNDRED */
  {0x2190 , ON }, /* LEFTWARDS ARROW */
  {0x2191 , ON }, /* UPWARDS ARROW */
  {0x2192 , ON }, /* RIGHTWARDS ARROW */
  {0x2193 , ON }, /* DOWNWARDS ARROW */
  {0x2194 , ON }, /* LEFT RIGHT ARROW */
  {0x2195 , ON }, /* UP DOWN ARROW */
  {0x2196 , ON }, /* NORTH WEST ARROW */
  {0x2197 , ON }, /* NORTH EAST ARROW */
  {0x2198 , ON }, /* SOUTH EAST ARROW */
  {0x2199 , ON }, /* SOUTH WEST ARROW */
  {0x219A , ON }, /* LEFTWARDS ARROW WITH STROKE */
  {0x219B , ON }, /* RIGHTWARDS ARROW WITH STROKE */
  {0x219C , ON }, /* LEFTWARDS WAVE ARROW */
  {0x219D , ON }, /* RIGHTWARDS WAVE ARROW */
  {0x219E , ON }, /* LEFTWARDS TWO HEADED ARROW */
  {0x219F , ON }, /* UPWARDS TWO HEADED ARROW */
  {0x21A0 , ON }, /* RIGHTWARDS TWO HEADED ARROW */
  {0x21A1 , ON }, /* DOWNWARDS TWO HEADED ARROW */
  {0x21A2 , ON }, /* LEFTWARDS ARROW WITH TAIL */
  {0x21A3 , ON }, /* RIGHTWARDS ARROW WITH TAIL */
  {0x21A4 , ON }, /* LEFTWARDS ARROW FROM BAR */
  {0x21A5 , ON }, /* UPWARDS ARROW FROM BAR */
  {0x21A6 , ON }, /* RIGHTWARDS ARROW FROM BAR */
  {0x21A7 , ON }, /* DOWNWARDS ARROW FROM BAR */
  {0x21A8 , ON }, /* UP DOWN ARROW WITH BASE */
  {0x21A9 , ON }, /* LEFTWARDS ARROW WITH HOOK */
  {0x21AA , ON }, /* RIGHTWARDS ARROW WITH HOOK */
  {0x21AB , ON }, /* LEFTWARDS ARROW WITH LOOP */
  {0x21AC , ON }, /* RIGHTWARDS ARROW WITH LOOP */
  {0x21AD , ON }, /* LEFT RIGHT WAVE ARROW */
  {0x21AE , ON }, /* LEFT RIGHT ARROW WITH STROKE */
  {0x21AF , ON }, /* DOWNWARDS ZIGZAG ARROW */
  {0x21B0 , ON }, /* UPWARDS ARROW WITH TIP LEFTWARDS */
  {0x21B1 , ON }, /* UPWARDS ARROW WITH TIP RIGHTWARDS */
  {0x21B2 , ON }, /* DOWNWARDS ARROW WITH TIP LEFTWARDS */
  {0x21B3 , ON }, /* DOWNWARDS ARROW WITH TIP RIGHTWARDS */
  {0x21B4 , ON }, /* RIGHTWARDS ARROW WITH CORNER DOWNWARDS */
  {0x21B5 , ON }, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS */
  {0x21B6 , ON }, /* ANTICLOCKWISE TOP SEMICIRCLE ARROW */
  {0x21B7 , ON }, /* CLOCKWISE TOP SEMICIRCLE ARROW */
  {0x21B8 , ON }, /* NORTH WEST ARROW TO LONG BAR */
  {0x21B9 , ON }, /* LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR */
  {0x21BA , ON }, /* ANTICLOCKWISE OPEN CIRCLE ARROW */
  {0x21BB , ON }, /* CLOCKWISE OPEN CIRCLE ARROW */
  {0x21BC , ON }, /* LEFTWARDS HARPOON WITH BARB UPWARDS */
  {0x21BD , ON }, /* LEFTWARDS HARPOON WITH BARB DOWNWARDS */
  {0x21BE , ON }, /* UPWARDS HARPOON WITH BARB RIGHTWARDS */
  {0x21BF , ON }, /* UPWARDS HARPOON WITH BARB LEFTWARDS */
  {0x21C0 , ON }, /* RIGHTWARDS HARPOON WITH BARB UPWARDS */
  {0x21C1 , ON }, /* RIGHTWARDS HARPOON WITH BARB DOWNWARDS */
  {0x21C2 , ON }, /* DOWNWARDS HARPOON WITH BARB RIGHTWARDS */
  {0x21C3 , ON }, /* DOWNWARDS HARPOON WITH BARB LEFTWARDS */
  {0x21C4 , ON }, /* RIGHTWARDS ARROW OVER LEFTWARDS ARROW */
  {0x21C5 , ON }, /* UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW */
  {0x21C6 , ON }, /* LEFTWARDS ARROW OVER RIGHTWARDS ARROW */
  {0x21C7 , ON }, /* LEFTWARDS PAIRED ARROWS */
  {0x21C8 , ON }, /* UPWARDS PAIRED ARROWS */
  {0x21C9 , ON }, /* RIGHTWARDS PAIRED ARROWS */
  {0x21CA , ON }, /* DOWNWARDS PAIRED ARROWS */
  {0x21CB , ON }, /* LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON */
  {0x21CC , ON }, /* RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON */
  {0x21CD , ON }, /* LEFTWARDS DOUBLE ARROW WITH STROKE */
  {0x21CE , ON }, /* LEFT RIGHT DOUBLE ARROW WITH STROKE */
  {0x21CF , ON }, /* RIGHTWARDS DOUBLE ARROW WITH STROKE */
  {0x21D0 , ON }, /* LEFTWARDS DOUBLE ARROW */
  {0x21D1 , ON }, /* UPWARDS DOUBLE ARROW */
  {0x21D2 , ON }, /* RIGHTWARDS DOUBLE ARROW */
  {0x21D3 , ON }, /* DOWNWARDS DOUBLE ARROW */
  {0x21D4 , ON }, /* LEFT RIGHT DOUBLE ARROW */
  {0x21D5 , ON }, /* UP DOWN DOUBLE ARROW */
  {0x21D6 , ON }, /* NORTH WEST DOUBLE ARROW */
  {0x21D7 , ON }, /* NORTH EAST DOUBLE ARROW */
  {0x21D8 , ON }, /* SOUTH EAST DOUBLE ARROW */
  {0x21D9 , ON }, /* SOUTH WEST DOUBLE ARROW */
  {0x21DA , ON }, /* LEFTWARDS TRIPLE ARROW */
  {0x21DB , ON }, /* RIGHTWARDS TRIPLE ARROW */
  {0x21DC , ON }, /* LEFTWARDS SQUIGGLE ARROW */
  {0x21DD , ON }, /* RIGHTWARDS SQUIGGLE ARROW */
  {0x21DE , ON }, /* UPWARDS ARROW WITH DOUBLE STROKE */
  {0x21DF , ON }, /* DOWNWARDS ARROW WITH DOUBLE STROKE */
  {0x21E0 , ON }, /* LEFTWARDS DASHED ARROW */
  {0x21E1 , ON }, /* UPWARDS DASHED ARROW */
  {0x21E2 , ON }, /* RIGHTWARDS DASHED ARROW */
  {0x21E3 , ON }, /* DOWNWARDS DASHED ARROW */
  {0x21E4 , ON }, /* LEFTWARDS ARROW TO BAR */
  {0x21E5 , ON }, /* RIGHTWARDS ARROW TO BAR */
  {0x21E6 , ON }, /* LEFTWARDS WHITE ARROW */
  {0x21E7 , ON }, /* UPWARDS WHITE ARROW */
  {0x21E8 , ON }, /* RIGHTWARDS WHITE ARROW */
  {0x21E9 , ON }, /* DOWNWARDS WHITE ARROW */
  {0x21EA , ON }, /* UPWARDS WHITE ARROW FROM BAR */
  {0x21EB , ON }, /* UPWARDS WHITE ARROW ON PEDESTAL */
  {0x21EC , ON }, /* UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR */
  {0x21ED , ON }, /* UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR */
  {0x21EE , ON }, /* UPWARDS WHITE DOUBLE ARROW */
  {0x21EF , ON }, /* UPWARDS WHITE DOUBLE ARROW ON PEDESTAL */
  {0x21F0 , ON }, /* RIGHTWARDS WHITE ARROW FROM WALL */
  {0x21F1 , ON }, /* NORTH WEST ARROW TO CORNER */
  {0x21F2 , ON }, /* SOUTH EAST ARROW TO CORNER */
  {0x21F3 , ON }, /* UP DOWN WHITE ARROW */
  {0x21F4 , ON }, /* RIGHT ARROW WITH SMALL CIRCLE */
  {0x21F5 , ON }, /* DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW */
  {0x21F6 , ON }, /* THREE RIGHTWARDS ARROWS */
  {0x21F7 , ON }, /* LEFTWARDS ARROW WITH VERTICAL STROKE */
  {0x21F8 , ON }, /* RIGHTWARDS ARROW WITH VERTICAL STROKE */
  {0x21F9 , ON }, /* LEFT RIGHT ARROW WITH VERTICAL STROKE */
  {0x21FA , ON }, /* LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE */
  {0x21FB , ON }, /* RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE */
  {0x21FC , ON }, /* LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE */
  {0x21FD , ON }, /* LEFTWARDS OPEN-HEADED ARROW */
  {0x21FE , ON }, /* RIGHTWARDS OPEN-HEADED ARROW */
  {0x21FF , ON }, /* LEFT RIGHT OPEN-HEADED ARROW */
  {0x2200 , ON }, /* FOR ALL */
  {0x2201 , ON }, /* COMPLEMENT */
  {0x2202 , ON }, /* PARTIAL DIFFERENTIAL */
  {0x2203 , ON }, /* THERE EXISTS */
  {0x2204 , ON }, /* THERE DOES NOT EXIST */
  {0x2205 , ON }, /* EMPTY SET */
  {0x2206 , ON }, /* INCREMENT */
  {0x2207 , ON }, /* NABLA */
  {0x2208 , ON }, /* ELEMENT OF */
  {0x2209 , ON }, /* NOT AN ELEMENT OF */
  {0x220A , ON }, /* SMALL ELEMENT OF */
  {0x220B , ON }, /* CONTAINS AS MEMBER */
  {0x220C , ON }, /* DOES NOT CONTAIN AS MEMBER */
  {0x220D , ON }, /* SMALL CONTAINS AS MEMBER */
  {0x220E , ON }, /* END OF PROOF */
  {0x220F , ON }, /* N-ARY PRODUCT */
  {0x2210 , ON }, /* N-ARY COPRODUCT */
  {0x2211 , ON }, /* N-ARY SUMMATION */
  {0x2212 , ES }, /* MINUS SIGN */
  {0x2213 , ET }, /* MINUS-OR-PLUS SIGN */
  {0x2214 , ON }, /* DOT PLUS */
  {0x2215 , ON }, /* DIVISION SLASH */
  {0x2216 , ON }, /* SET MINUS */
  {0x2217 , ON }, /* ASTERISK OPERATOR */
  {0x2218 , ON }, /* RING OPERATOR */
  {0x2219 , ON }, /* BULLET OPERATOR */
  {0x221A , ON }, /* SQUARE ROOT */
  {0x221B , ON }, /* CUBE ROOT */
  {0x221C , ON }, /* FOURTH ROOT */
  {0x221D , ON }, /* PROPORTIONAL TO */
  {0x221E , ON }, /* INFINITY */
  {0x221F , ON }, /* RIGHT ANGLE */
  {0x2220 , ON }, /* ANGLE */
  {0x2221 , ON }, /* MEASURED ANGLE */
  {0x2222 , ON }, /* SPHERICAL ANGLE */
  {0x2223 , ON }, /* DIVIDES */
  {0x2224 , ON }, /* DOES NOT DIVIDE */
  {0x2225 , ON }, /* PARALLEL TO */
  {0x2226 , ON }, /* NOT PARALLEL TO */
  {0x2227 , ON }, /* LOGICAL AND */
  {0x2228 , ON }, /* LOGICAL OR */
  {0x2229 , ON }, /* INTERSECTION */
  {0x222A , ON }, /* UNION */
  {0x222B , ON }, /* INTEGRAL */
  {0x222C , ON }, /* DOUBLE INTEGRAL */
  {0x222D , ON }, /* TRIPLE INTEGRAL */
  {0x222E , ON }, /* CONTOUR INTEGRAL */
  {0x222F , ON }, /* SURFACE INTEGRAL */
  {0x2230 , ON }, /* VOLUME INTEGRAL */
  {0x2231 , ON }, /* CLOCKWISE INTEGRAL */
  {0x2232 , ON }, /* CLOCKWISE CONTOUR INTEGRAL */
  {0x2233 , ON }, /* ANTICLOCKWISE CONTOUR INTEGRAL */
  {0x2234 , ON }, /* THEREFORE */
  {0x2235 , ON }, /* BECAUSE */
  {0x2236 , ON }, /* RATIO */
  {0x2237 , ON }, /* PROPORTION */
  {0x2238 , ON }, /* DOT MINUS */
  {0x2239 , ON }, /* EXCESS */
  {0x223A , ON }, /* GEOMETRIC PROPORTION */
  {0x223B , ON }, /* HOMOTHETIC */
  {0x223C , ON }, /* TILDE OPERATOR */
  {0x223D , ON }, /* REVERSED TILDE */
  {0x223E , ON }, /* INVERTED LAZY S */
  {0x223F , ON }, /* SINE WAVE */
  {0x2240 , ON }, /* WREATH PRODUCT */
  {0x2241 , ON }, /* NOT TILDE */
  {0x2242 , ON }, /* MINUS TILDE */
  {0x2243 , ON }, /* ASYMPTOTICALLY EQUAL TO */
  {0x2244 , ON }, /* NOT ASYMPTOTICALLY EQUAL TO */
  {0x2245 , ON }, /* APPROXIMATELY EQUAL TO */
  {0x2246 , ON }, /* APPROXIMATELY BUT NOT ACTUALLY EQUAL TO */
  {0x2247 , ON }, /* NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO */
  {0x2248 , ON }, /* ALMOST EQUAL TO */
  {0x2249 , ON }, /* NOT ALMOST EQUAL TO */
  {0x224A , ON }, /* ALMOST EQUAL OR EQUAL TO */
  {0x224B , ON }, /* TRIPLE TILDE */
  {0x224C , ON }, /* ALL EQUAL TO */
  {0x224D , ON }, /* EQUIVALENT TO */
  {0x224E , ON }, /* GEOMETRICALLY EQUIVALENT TO */
  {0x224F , ON }, /* DIFFERENCE BETWEEN */
  {0x2250 , ON }, /* APPROACHES THE LIMIT */
  {0x2251 , ON }, /* GEOMETRICALLY EQUAL TO */
  {0x2252 , ON }, /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */
  {0x2253 , ON }, /* IMAGE OF OR APPROXIMATELY EQUAL TO */
  {0x2254 , ON }, /* COLON EQUALS */
  {0x2255 , ON }, /* EQUALS COLON */
  {0x2256 , ON }, /* RING IN EQUAL TO */
  {0x2257 , ON }, /* RING EQUAL TO */
  {0x2258 , ON }, /* CORRESPONDS TO */
  {0x2259 , ON }, /* ESTIMATES */
  {0x225A , ON }, /* EQUIANGULAR TO */
  {0x225B , ON }, /* STAR EQUALS */
  {0x225C , ON }, /* DELTA EQUAL TO */
  {0x225D , ON }, /* EQUAL TO BY DEFINITION */
  {0x225E , ON }, /* MEASURED BY */
  {0x225F , ON }, /* QUESTIONED EQUAL TO */
  {0x2260 , ON }, /* NOT EQUAL TO */
  {0x2261 , ON }, /* IDENTICAL TO */
  {0x2262 , ON }, /* NOT IDENTICAL TO */
  {0x2263 , ON }, /* STRICTLY EQUIVALENT TO */
  {0x2264 , ON }, /* LESS-THAN OR EQUAL TO */
  {0x2265 , ON }, /* GREATER-THAN OR EQUAL TO */
  {0x2266 , ON }, /* LESS-THAN OVER EQUAL TO */
  {0x2267 , ON }, /* GREATER-THAN OVER EQUAL TO */
  {0x2268 , ON }, /* LESS-THAN BUT NOT EQUAL TO */
  {0x2269 , ON }, /* GREATER-THAN BUT NOT EQUAL TO */
  {0x226A , ON }, /* MUCH LESS-THAN */
  {0x226B , ON }, /* MUCH GREATER-THAN */
  {0x226C , ON }, /* BETWEEN */
  {0x226D , ON }, /* NOT EQUIVALENT TO */
  {0x226E , ON }, /* NOT LESS-THAN */
  {0x226F , ON }, /* NOT GREATER-THAN */
  {0x2270 , ON }, /* NEITHER LESS-THAN NOR EQUAL TO */
  {0x2271 , ON }, /* NEITHER GREATER-THAN NOR EQUAL TO */
  {0x2272 , ON }, /* LESS-THAN OR EQUIVALENT TO */
  {0x2273 , ON }, /* GREATER-THAN OR EQUIVALENT TO */
  {0x2274 , ON }, /* NEITHER LESS-THAN NOR EQUIVALENT TO */
  {0x2275 , ON }, /* NEITHER GREATER-THAN NOR EQUIVALENT TO */
  {0x2276 , ON }, /* LESS-THAN OR GREATER-THAN */
  {0x2277 , ON }, /* GREATER-THAN OR LESS-THAN */
  {0x2278 , ON }, /* NEITHER LESS-THAN NOR GREATER-THAN */
  {0x2279 , ON }, /* NEITHER GREATER-THAN NOR LESS-THAN */
  {0x227A , ON }, /* PRECEDES */
  {0x227B , ON }, /* SUCCEEDS */
  {0x227C , ON }, /* PRECEDES OR EQUAL TO */
  {0x227D , ON }, /* SUCCEEDS OR EQUAL TO */
  {0x227E , ON }, /* PRECEDES OR EQUIVALENT TO */
  {0x227F , ON }, /* SUCCEEDS OR EQUIVALENT TO */
  {0x2280 , ON }, /* DOES NOT PRECEDE */
  {0x2281 , ON }, /* DOES NOT SUCCEED */
  {0x2282 , ON }, /* SUBSET OF */
  {0x2283 , ON }, /* SUPERSET OF */
  {0x2284 , ON }, /* NOT A SUBSET OF */
  {0x2285 , ON }, /* NOT A SUPERSET OF */
  {0x2286 , ON }, /* SUBSET OF OR EQUAL TO */
  {0x2287 , ON }, /* SUPERSET OF OR EQUAL TO */
  {0x2288 , ON }, /* NEITHER A SUBSET OF NOR EQUAL TO */
  {0x2289 , ON }, /* NEITHER A SUPERSET OF NOR EQUAL TO */
  {0x228A , ON }, /* SUBSET OF WITH NOT EQUAL TO */
  {0x228B , ON }, /* SUPERSET OF WITH NOT EQUAL TO */
  {0x228C , ON }, /* MULTISET */
  {0x228D , ON }, /* MULTISET MULTIPLICATION */
  {0x228E , ON }, /* MULTISET UNION */
  {0x228F , ON }, /* SQUARE IMAGE OF */
  {0x2290 , ON }, /* SQUARE ORIGINAL OF */
  {0x2291 , ON }, /* SQUARE IMAGE OF OR EQUAL TO */
  {0x2292 , ON }, /* SQUARE ORIGINAL OF OR EQUAL TO */
  {0x2293 , ON }, /* SQUARE CAP */
  {0x2294 , ON }, /* SQUARE CUP */
  {0x2295 , ON }, /* CIRCLED PLUS */
  {0x2296 , ON }, /* CIRCLED MINUS */
  {0x2297 , ON }, /* CIRCLED TIMES */
  {0x2298 , ON }, /* CIRCLED DIVISION SLASH */
  {0x2299 , ON }, /* CIRCLED DOT OPERATOR */
  {0x229A , ON }, /* CIRCLED RING OPERATOR */
  {0x229B , ON }, /* CIRCLED ASTERISK OPERATOR */
  {0x229C , ON }, /* CIRCLED EQUALS */
  {0x229D , ON }, /* CIRCLED DASH */
  {0x229E , ON }, /* SQUARED PLUS */
  {0x229F , ON }, /* SQUARED MINUS */
  {0x22A0 , ON }, /* SQUARED TIMES */
  {0x22A1 , ON }, /* SQUARED DOT OPERATOR */
  {0x22A2 , ON }, /* RIGHT TACK */
  {0x22A3 , ON }, /* LEFT TACK */
  {0x22A4 , ON }, /* DOWN TACK */
  {0x22A5 , ON }, /* UP TACK */
  {0x22A6 , ON }, /* ASSERTION */
  {0x22A7 , ON }, /* MODELS */
  {0x22A8 , ON }, /* TRUE */
  {0x22A9 , ON }, /* FORCES */
  {0x22AA , ON }, /* TRIPLE VERTICAL BAR RIGHT TURNSTILE */
  {0x22AB , ON }, /* DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE */
  {0x22AC , ON }, /* DOES NOT PROVE */
  {0x22AD , ON }, /* NOT TRUE */
  {0x22AE , ON }, /* DOES NOT FORCE */
  {0x22AF , ON }, /* NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE */
  {0x22B0 , ON }, /* PRECEDES UNDER RELATION */
  {0x22B1 , ON }, /* SUCCEEDS UNDER RELATION */
  {0x22B2 , ON }, /* NORMAL SUBGROUP OF */
  {0x22B3 , ON }, /* CONTAINS AS NORMAL SUBGROUP */
  {0x22B4 , ON }, /* NORMAL SUBGROUP OF OR EQUAL TO */
  {0x22B5 , ON }, /* CONTAINS AS NORMAL SUBGROUP OR EQUAL TO */
  {0x22B6 , ON }, /* ORIGINAL OF */
  {0x22B7 , ON }, /* IMAGE OF */
  {0x22B8 , ON }, /* MULTIMAP */
  {0x22B9 , ON }, /* HERMITIAN CONJUGATE MATRIX */
  {0x22BA , ON }, /* INTERCALATE */
  {0x22BB , ON }, /* XOR */
  {0x22BC , ON }, /* NAND */
  {0x22BD , ON }, /* NOR */
  {0x22BE , ON }, /* RIGHT ANGLE WITH ARC */
  {0x22BF , ON }, /* RIGHT TRIANGLE */
  {0x22C0 , ON }, /* N-ARY LOGICAL AND */
  {0x22C1 , ON }, /* N-ARY LOGICAL OR */
  {0x22C2 , ON }, /* N-ARY INTERSECTION */
  {0x22C3 , ON }, /* N-ARY UNION */
  {0x22C4 , ON }, /* DIAMOND OPERATOR */
  {0x22C5 , ON }, /* DOT OPERATOR */
  {0x22C6 , ON }, /* STAR OPERATOR */
  {0x22C7 , ON }, /* DIVISION TIMES */
  {0x22C8 , ON }, /* BOWTIE */
  {0x22C9 , ON }, /* LEFT NORMAL FACTOR SEMIDIRECT PRODUCT */
  {0x22CA , ON }, /* RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT */
  {0x22CB , ON }, /* LEFT SEMIDIRECT PRODUCT */
  {0x22CC , ON }, /* RIGHT SEMIDIRECT PRODUCT */
  {0x22CD , ON }, /* REVERSED TILDE EQUALS */
  {0x22CE , ON }, /* CURLY LOGICAL OR */
  {0x22CF , ON }, /* CURLY LOGICAL AND */
  {0x22D0 , ON }, /* DOUBLE SUBSET */
  {0x22D1 , ON }, /* DOUBLE SUPERSET */
  {0x22D2 , ON }, /* DOUBLE INTERSECTION */
  {0x22D3 , ON }, /* DOUBLE UNION */
  {0x22D4 , ON }, /* PITCHFORK */
  {0x22D5 , ON }, /* EQUAL AND PARALLEL TO */
  {0x22D6 , ON }, /* LESS-THAN WITH DOT */
  {0x22D7 , ON }, /* GREATER-THAN WITH DOT */
  {0x22D8 , ON }, /* VERY MUCH LESS-THAN */
  {0x22D9 , ON }, /* VERY MUCH GREATER-THAN */
  {0x22DA , ON }, /* LESS-THAN EQUAL TO OR GREATER-THAN */
  {0x22DB , ON }, /* GREATER-THAN EQUAL TO OR LESS-THAN */
  {0x22DC , ON }, /* EQUAL TO OR LESS-THAN */
  {0x22DD , ON }, /* EQUAL TO OR GREATER-THAN */
  {0x22DE , ON }, /* EQUAL TO OR PRECEDES */
  {0x22DF , ON }, /* EQUAL TO OR SUCCEEDS */
  {0x22E0 , ON }, /* DOES NOT PRECEDE OR EQUAL */
  {0x22E1 , ON }, /* DOES NOT SUCCEED OR EQUAL */
  {0x22E2 , ON }, /* NOT SQUARE IMAGE OF OR EQUAL TO */
  {0x22E3 , ON }, /* NOT SQUARE ORIGINAL OF OR EQUAL TO */
  {0x22E4 , ON }, /* SQUARE IMAGE OF OR NOT EQUAL TO */
  {0x22E5 , ON }, /* SQUARE ORIGINAL OF OR NOT EQUAL TO */
  {0x22E6 , ON }, /* LESS-THAN BUT NOT EQUIVALENT TO */
  {0x22E7 , ON }, /* GREATER-THAN BUT NOT EQUIVALENT TO */
  {0x22E8 , ON }, /* PRECEDES BUT NOT EQUIVALENT TO */
  {0x22E9 , ON }, /* SUCCEEDS BUT NOT EQUIVALENT TO */
  {0x22EA , ON }, /* NOT NORMAL SUBGROUP OF */
  {0x22EB , ON }, /* DOES NOT CONTAIN AS NORMAL SUBGROUP */
  {0x22EC , ON }, /* NOT NORMAL SUBGROUP OF OR EQUAL TO */
  {0x22ED , ON }, /* DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */
  {0x22EE , ON }, /* VERTICAL ELLIPSIS */
  {0x22EF , ON }, /* MIDLINE HORIZONTAL ELLIPSIS */
  {0x22F0 , ON }, /* UP RIGHT DIAGONAL ELLIPSIS */
  {0x22F1 , ON }, /* DOWN RIGHT DIAGONAL ELLIPSIS */
  {0x22F2 , ON }, /* ELEMENT OF WITH LONG HORIZONTAL STROKE */
  {0x22F3 , ON }, /* ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22F4 , ON }, /* SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22F5 , ON }, /* ELEMENT OF WITH DOT ABOVE */
  {0x22F6 , ON }, /* ELEMENT OF WITH OVERBAR */
  {0x22F7 , ON }, /* SMALL ELEMENT OF WITH OVERBAR */
  {0x22F8 , ON }, /* ELEMENT OF WITH UNDERBAR */
  {0x22F9 , ON }, /* ELEMENT OF WITH TWO HORIZONTAL STROKES */
  {0x22FA , ON }, /* CONTAINS WITH LONG HORIZONTAL STROKE */
  {0x22FB , ON }, /* CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22FC , ON }, /* SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22FD , ON }, /* CONTAINS WITH OVERBAR */
  {0x22FE , ON }, /* SMALL CONTAINS WITH OVERBAR */
  {0x22FF , ON }, /* Z NOTATION BAG MEMBERSHIP */
  {0x2300 , ON }, /* DIAMETER SIGN */
  {0x2301 , ON }, /* ELECTRIC ARROW */
  {0x2302 , ON }, /* HOUSE */
  {0x2303 , ON }, /* UP ARROWHEAD */
  {0x2304 , ON }, /* DOWN ARROWHEAD */
  {0x2305 , ON }, /* PROJECTIVE */
  {0x2306 , ON }, /* PERSPECTIVE */
  {0x2307 , ON }, /* WAVY LINE */
  {0x2308 , ON }, /* LEFT CEILING */
  {0x2309 , ON }, /* RIGHT CEILING */
  {0x230A , ON }, /* LEFT FLOOR */
  {0x230B , ON }, /* RIGHT FLOOR */
  {0x230C , ON }, /* BOTTOM RIGHT CROP */
  {0x230D , ON }, /* BOTTOM LEFT CROP */
  {0x230E , ON }, /* TOP RIGHT CROP */
  {0x230F , ON }, /* TOP LEFT CROP */
  {0x2310 , ON }, /* REVERSED NOT SIGN */
  {0x2311 , ON }, /* SQUARE LOZENGE */
  {0x2312 , ON }, /* ARC */
  {0x2313 , ON }, /* SEGMENT */
  {0x2314 , ON }, /* SECTOR */
  {0x2315 , ON }, /* TELEPHONE RECORDER */
  {0x2316 , ON }, /* POSITION INDICATOR */
  {0x2317 , ON }, /* VIEWDATA SQUARE */
  {0x2318 , ON }, /* PLACE OF INTEREST SIGN */
  {0x2319 , ON }, /* TURNED NOT SIGN */
  {0x231A , ON }, /* WATCH */
  {0x231B , ON }, /* HOURGLASS */
  {0x231C , ON }, /* TOP LEFT CORNER */
  {0x231D , ON }, /* TOP RIGHT CORNER */
  {0x231E , ON }, /* BOTTOM LEFT CORNER */
  {0x231F , ON }, /* BOTTOM RIGHT CORNER */
  {0x2320 , ON }, /* TOP HALF INTEGRAL */
  {0x2321 , ON }, /* BOTTOM HALF INTEGRAL */
  {0x2322 , ON }, /* FROWN */
  {0x2323 , ON }, /* SMILE */
  {0x2324 , ON }, /* UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS */
  {0x2325 , ON }, /* OPTION KEY */
  {0x2326 , ON }, /* ERASE TO THE RIGHT */
  {0x2327 , ON }, /* X IN A RECTANGLE BOX */
  {0x2328 , ON }, /* KEYBOARD */
  {0x2329 , ON }, /* LEFT-POINTING ANGLE BRACKET */
  {0x232A , ON }, /* RIGHT-POINTING ANGLE BRACKET */
  {0x232B , ON }, /* ERASE TO THE LEFT */
  {0x232C , ON }, /* BENZENE RING */
  {0x232D , ON }, /* CYLINDRICITY */
  {0x232E , ON }, /* ALL AROUND-PROFILE */
  {0x232F , ON }, /* SYMMETRY */
  {0x2330 , ON }, /* TOTAL RUNOUT */
  {0x2331 , ON }, /* DIMENSION ORIGIN */
  {0x2332 , ON }, /* CONICAL TAPER */
  {0x2333 , ON }, /* SLOPE */
  {0x2334 , ON }, /* COUNTERBORE */
  {0x2335 , ON }, /* COUNTERSINK */
  {0x2336 , L  }, /* APL FUNCTIONAL SYMBOL I-BEAM */
  {0x2337 , L  }, /* APL FUNCTIONAL SYMBOL SQUISH QUAD */
  {0x2338 , L  }, /* APL FUNCTIONAL SYMBOL QUAD EQUAL */
  {0x2339 , L  }, /* APL FUNCTIONAL SYMBOL QUAD DIVIDE */
  {0x233A , L  }, /* APL FUNCTIONAL SYMBOL QUAD DIAMOND */
  {0x233B , L  }, /* APL FUNCTIONAL SYMBOL QUAD JOT */
  {0x233C , L  }, /* APL FUNCTIONAL SYMBOL QUAD CIRCLE */
  {0x233D , L  }, /* APL FUNCTIONAL SYMBOL CIRCLE STILE */
  {0x233E , L  }, /* APL FUNCTIONAL SYMBOL CIRCLE JOT */
  {0x233F , L  }, /* APL FUNCTIONAL SYMBOL SLASH BAR */
  {0x2340 , L  }, /* APL FUNCTIONAL SYMBOL BACKSLASH BAR */
  {0x2341 , L  }, /* APL FUNCTIONAL SYMBOL QUAD SLASH */
  {0x2342 , L  }, /* APL FUNCTIONAL SYMBOL QUAD BACKSLASH */
  {0x2343 , L  }, /* APL FUNCTIONAL SYMBOL QUAD LESS-THAN */
  {0x2344 , L  }, /* APL FUNCTIONAL SYMBOL QUAD GREATER-THAN */
  {0x2345 , L  }, /* APL FUNCTIONAL SYMBOL LEFTWARDS VANE */
  {0x2346 , L  }, /* APL FUNCTIONAL SYMBOL RIGHTWARDS VANE */
  {0x2347 , L  }, /* APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW */
  {0x2348 , L  }, /* APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW */
  {0x2349 , L  }, /* APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH */
  {0x234A , L  }, /* APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR */
  {0x234B , L  }, /* APL FUNCTIONAL SYMBOL DELTA STILE */
  {0x234C , L  }, /* APL FUNCTIONAL SYMBOL QUAD DOWN CARET */
  {0x234D , L  }, /* APL FUNCTIONAL SYMBOL QUAD DELTA */
  {0x234E , L  }, /* APL FUNCTIONAL SYMBOL DOWN TACK JOT */
  {0x234F , L  }, /* APL FUNCTIONAL SYMBOL UPWARDS VANE */
  {0x2350 , L  }, /* APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW */
  {0x2351 , L  }, /* APL FUNCTIONAL SYMBOL UP TACK OVERBAR */
  {0x2352 , L  }, /* APL FUNCTIONAL SYMBOL DEL STILE */
  {0x2353 , L  }, /* APL FUNCTIONAL SYMBOL QUAD UP CARET */
  {0x2354 , L  }, /* APL FUNCTIONAL SYMBOL QUAD DEL */
  {0x2355 , L  }, /* APL FUNCTIONAL SYMBOL UP TACK JOT */
  {0x2356 , L  }, /* APL FUNCTIONAL SYMBOL DOWNWARDS VANE */
  {0x2357 , L  }, /* APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW */
  {0x2358 , L  }, /* APL FUNCTIONAL SYMBOL QUOTE UNDERBAR */
  {0x2359 , L  }, /* APL FUNCTIONAL SYMBOL DELTA UNDERBAR */
  {0x235A , L  }, /* APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR */
  {0x235B , L  }, /* APL FUNCTIONAL SYMBOL JOT UNDERBAR */
  {0x235C , L  }, /* APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR */
  {0x235D , L  }, /* APL FUNCTIONAL SYMBOL UP SHOE JOT */
  {0x235E , L  }, /* APL FUNCTIONAL SYMBOL QUOTE QUAD */
  {0x235F , L  }, /* APL FUNCTIONAL SYMBOL CIRCLE STAR */
  {0x2360 , L  }, /* APL FUNCTIONAL SYMBOL QUAD COLON */
  {0x2361 , L  }, /* APL FUNCTIONAL SYMBOL UP TACK DIAERESIS */
  {0x2362 , L  }, /* APL FUNCTIONAL SYMBOL DEL DIAERESIS */
  {0x2363 , L  }, /* APL FUNCTIONAL SYMBOL STAR DIAERESIS */
  {0x2364 , L  }, /* APL FUNCTIONAL SYMBOL JOT DIAERESIS */
  {0x2365 , L  }, /* APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS */
  {0x2366 , L  }, /* APL FUNCTIONAL SYMBOL DOWN SHOE STILE */
  {0x2367 , L  }, /* APL FUNCTIONAL SYMBOL LEFT SHOE STILE */
  {0x2368 , L  }, /* APL FUNCTIONAL SYMBOL TILDE DIAERESIS */
  {0x2369 , L  }, /* APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS */
  {0x236A , L  }, /* APL FUNCTIONAL SYMBOL COMMA BAR */
  {0x236B , L  }, /* APL FUNCTIONAL SYMBOL DEL TILDE */
  {0x236C , L  }, /* APL FUNCTIONAL SYMBOL ZILDE */
  {0x236D , L  }, /* APL FUNCTIONAL SYMBOL STILE TILDE */
  {0x236E , L  }, /* APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR */
  {0x236F , L  }, /* APL FUNCTIONAL SYMBOL QUAD NOT EQUAL */
  {0x2370 , L  }, /* APL FUNCTIONAL SYMBOL QUAD QUESTION */
  {0x2371 , L  }, /* APL FUNCTIONAL SYMBOL DOWN CARET TILDE */
  {0x2372 , L  }, /* APL FUNCTIONAL SYMBOL UP CARET TILDE */
  {0x2373 , L  }, /* APL FUNCTIONAL SYMBOL IOTA */
  {0x2374 , L  }, /* APL FUNCTIONAL SYMBOL RHO */
  {0x2375 , L  }, /* APL FUNCTIONAL SYMBOL OMEGA */
  {0x2376 , L  }, /* APL FUNCTIONAL SYMBOL ALPHA UNDERBAR */
  {0x2377 , L  }, /* APL FUNCTIONAL SYMBOL EPSILON UNDERBAR */
  {0x2378 , L  }, /* APL FUNCTIONAL SYMBOL IOTA UNDERBAR */
  {0x2379 , L  }, /* APL FUNCTIONAL SYMBOL OMEGA UNDERBAR */
  {0x237A , L  }, /* APL FUNCTIONAL SYMBOL ALPHA */
  {0x237B , ON }, /* NOT CHECK MARK */
  {0x237C , ON }, /* RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW */
  {0x237D , ON }, /* SHOULDERED OPEN BOX */
  {0x237E , ON }, /* BELL SYMBOL */
  {0x237F , ON }, /* VERTICAL LINE WITH MIDDLE DOT */
  {0x2380 , ON }, /* INSERTION SYMBOL */
  {0x2381 , ON }, /* CONTINUOUS UNDERLINE SYMBOL */
  {0x2382 , ON }, /* DISCONTINUOUS UNDERLINE SYMBOL */
  {0x2383 , ON }, /* EMPHASIS SYMBOL */
  {0x2384 , ON }, /* COMPOSITION SYMBOL */
  {0x2385 , ON }, /* WHITE SQUARE WITH CENTRE VERTICAL LINE */
  {0x2386 , ON }, /* ENTER SYMBOL */
  {0x2387 , ON }, /* ALTERNATIVE KEY SYMBOL */
  {0x2388 , ON }, /* HELM SYMBOL */
  {0x2389 , ON }, /* CIRCLED HORIZONTAL BAR WITH NOTCH */
  {0x238A , ON }, /* CIRCLED TRIANGLE DOWN */
  {0x238B , ON }, /* BROKEN CIRCLE WITH NORTHWEST ARROW */
  {0x238C , ON }, /* UNDO SYMBOL */
  {0x238D , ON }, /* MONOSTABLE SYMBOL */
  {0x238E , ON }, /* HYSTERESIS SYMBOL */
  {0x238F , ON }, /* OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL */
  {0x2390 , ON }, /* OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL */
  {0x2391 , ON }, /* PASSIVE-PULL-DOWN-OUTPUT SYMBOL */
  {0x2392 , ON }, /* PASSIVE-PULL-UP-OUTPUT SYMBOL */
  {0x2393 , ON }, /* DIRECT CURRENT SYMBOL FORM TWO */
  {0x2394 , ON }, /* SOFTWARE-FUNCTION SYMBOL */
  {0x2395 , L  }, /* APL FUNCTIONAL SYMBOL QUAD */
  {0x2396 , ON }, /* DECIMAL SEPARATOR KEY SYMBOL */
  {0x2397 , ON }, /* PREVIOUS PAGE */
  {0x2398 , ON }, /* NEXT PAGE */
  {0x2399 , ON }, /* PRINT SCREEN SYMBOL */
  {0x239A , ON }, /* CLEAR SCREEN SYMBOL */
  {0x239B , ON }, /* LEFT PARENTHESIS UPPER HOOK */
  {0x239C , ON }, /* LEFT PARENTHESIS EXTENSION */
  {0x239D , ON }, /* LEFT PARENTHESIS LOWER HOOK */
  {0x239E , ON }, /* RIGHT PARENTHESIS UPPER HOOK */
  {0x239F , ON }, /* RIGHT PARENTHESIS EXTENSION */
  {0x23A0 , ON }, /* RIGHT PARENTHESIS LOWER HOOK */
  {0x23A1 , ON }, /* LEFT SQUARE BRACKET UPPER CORNER */
  {0x23A2 , ON }, /* LEFT SQUARE BRACKET EXTENSION */
  {0x23A3 , ON }, /* LEFT SQUARE BRACKET LOWER CORNER */
  {0x23A4 , ON }, /* RIGHT SQUARE BRACKET UPPER CORNER */
  {0x23A5 , ON }, /* RIGHT SQUARE BRACKET EXTENSION */
  {0x23A6 , ON }, /* RIGHT SQUARE BRACKET LOWER CORNER */
  {0x23A7 , ON }, /* LEFT CURLY BRACKET UPPER HOOK */
  {0x23A8 , ON }, /* LEFT CURLY BRACKET MIDDLE PIECE */
  {0x23A9 , ON }, /* LEFT CURLY BRACKET LOWER HOOK */
  {0x23AA , ON }, /* CURLY BRACKET EXTENSION */
  {0x23AB , ON }, /* RIGHT CURLY BRACKET UPPER HOOK */
  {0x23AC , ON }, /* RIGHT CURLY BRACKET MIDDLE PIECE */
  {0x23AD , ON }, /* RIGHT CURLY BRACKET LOWER HOOK */
  {0x23AE , ON }, /* INTEGRAL EXTENSION */
  {0x23AF , ON }, /* HORIZONTAL LINE EXTENSION */
  {0x23B0 , ON }, /* UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION */
  {0x23B1 , ON }, /* UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION */
  {0x23B2 , ON }, /* SUMMATION TOP */
  {0x23B3 , ON }, /* SUMMATION BOTTOM */
  {0x23B4 , ON }, /* TOP SQUARE BRACKET */
  {0x23B5 , ON }, /* BOTTOM SQUARE BRACKET */
  {0x23B6 , ON }, /* BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET */
  {0x23B7 , ON }, /* RADICAL SYMBOL BOTTOM */
  {0x23B8 , ON }, /* LEFT VERTICAL BOX LINE */
  {0x23B9 , ON }, /* RIGHT VERTICAL BOX LINE */
  {0x23BA , ON }, /* HORIZONTAL SCAN LINE-1 */
  {0x23BB , ON }, /* HORIZONTAL SCAN LINE-3 */
  {0x23BC , ON }, /* HORIZONTAL SCAN LINE-7 */
  {0x23BD , ON }, /* HORIZONTAL SCAN LINE-9 */
  {0x23BE , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT */
  {0x23BF , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT */
  {0x23C0 , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE */
  {0x23C1 , ON }, /* DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE */
  {0x23C2 , ON }, /* DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE */
  {0x23C3 , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE */
  {0x23C4 , ON }, /* DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE */
  {0x23C5 , ON }, /* DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE */
  {0x23C6 , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE */
  {0x23C7 , ON }, /* DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE */
  {0x23C8 , ON }, /* DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE */
  {0x23C9 , ON }, /* DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL */
  {0x23CA , ON }, /* DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL */
  {0x23CB , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT */
  {0x23CC , ON }, /* DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT */
  {0x23CD , ON }, /* SQUARE FOOT */
  {0x23CE , ON }, /* RETURN SYMBOL */
  {0x23CF , ON }, /* EJECT SYMBOL */
  {0x23D0 , ON }, /* VERTICAL LINE EXTENSION */
  {0x23D1 , ON }, /* METRICAL BREVE */
  {0x23D2 , ON }, /* METRICAL LONG OVER SHORT */
  {0x23D3 , ON }, /* METRICAL SHORT OVER LONG */
  {0x23D4 , ON }, /* METRICAL LONG OVER TWO SHORTS */
  {0x23D5 , ON }, /* METRICAL TWO SHORTS OVER LONG */
  {0x23D6 , ON }, /* METRICAL TWO SHORTS JOINED */
  {0x23D7 , ON }, /* METRICAL TRISEME */
  {0x23D8 , ON }, /* METRICAL TETRASEME */
  {0x23D9 , ON }, /* METRICAL PENTASEME */
  {0x23DA , ON }, /* EARTH GROUND */
  {0x23DB , ON }, /* FUSE */
  {0x2400 , ON }, /* SYMBOL FOR NULL */
  {0x2401 , ON }, /* SYMBOL FOR START OF HEADING */
  {0x2402 , ON }, /* SYMBOL FOR START OF TEXT */
  {0x2403 , ON }, /* SYMBOL FOR END OF TEXT */
  {0x2404 , ON }, /* SYMBOL FOR END OF TRANSMISSION */
  {0x2405 , ON }, /* SYMBOL FOR ENQUIRY */
  {0x2406 , ON }, /* SYMBOL FOR ACKNOWLEDGE */
  {0x2407 , ON }, /* SYMBOL FOR BELL */
  {0x2408 , ON }, /* SYMBOL FOR BACKSPACE */
  {0x2409 , ON }, /* SYMBOL FOR HORIZONTAL TABULATION */
  {0x240A , ON }, /* SYMBOL FOR LINE FEED */
  {0x240B , ON }, /* SYMBOL FOR VERTICAL TABULATION */
  {0x240C , ON }, /* SYMBOL FOR FORM FEED */
  {0x240D , ON }, /* SYMBOL FOR CARRIAGE RETURN */
  {0x240E , ON }, /* SYMBOL FOR SHIFT OUT */
  {0x240F , ON }, /* SYMBOL FOR SHIFT IN */
  {0x2410 , ON }, /* SYMBOL FOR DATA LINK ESCAPE */
  {0x2411 , ON }, /* SYMBOL FOR DEVICE CONTROL ONE */
  {0x2412 , ON }, /* SYMBOL FOR DEVICE CONTROL TWO */
  {0x2413 , ON }, /* SYMBOL FOR DEVICE CONTROL THREE */
  {0x2414 , ON }, /* SYMBOL FOR DEVICE CONTROL FOUR */
  {0x2415 , ON }, /* SYMBOL FOR NEGATIVE ACKNOWLEDGE */
  {0x2416 , ON }, /* SYMBOL FOR SYNCHRONOUS IDLE */
  {0x2417 , ON }, /* SYMBOL FOR END OF TRANSMISSION BLOCK */
  {0x2418 , ON }, /* SYMBOL FOR CANCEL */
  {0x2419 , ON }, /* SYMBOL FOR END OF MEDIUM */
  {0x241A , ON }, /* SYMBOL FOR SUBSTITUTE */
  {0x241B , ON }, /* SYMBOL FOR ESCAPE */
  {0x241C , ON }, /* SYMBOL FOR FILE SEPARATOR */
  {0x241D , ON }, /* SYMBOL FOR GROUP SEPARATOR */
  {0x241E , ON }, /* SYMBOL FOR RECORD SEPARATOR */
  {0x241F , ON }, /* SYMBOL FOR UNIT SEPARATOR */
  {0x2420 , ON }, /* SYMBOL FOR SPACE */
  {0x2421 , ON }, /* SYMBOL FOR DELETE */
  {0x2422 , ON }, /* BLANK SYMBOL */
  {0x2423 , ON }, /* OPEN BOX */
  {0x2424 , ON }, /* SYMBOL FOR NEWLINE */
  {0x2425 , ON }, /* SYMBOL FOR DELETE FORM TWO */
  {0x2426 , ON }, /* SYMBOL FOR SUBSTITUTE FORM TWO */
  {0x2440 , ON }, /* OCR HOOK */
  {0x2441 , ON }, /* OCR CHAIR */
  {0x2442 , ON }, /* OCR FORK */
  {0x2443 , ON }, /* OCR INVERTED FORK */
  {0x2444 , ON }, /* OCR BELT BUCKLE */
  {0x2445 , ON }, /* OCR BOW TIE */
  {0x2446 , ON }, /* OCR BRANCH BANK IDENTIFICATION */
  {0x2447 , ON }, /* OCR AMOUNT OF CHECK */
  {0x2448 , ON }, /* OCR DASH */
  {0x2449 , ON }, /* OCR CUSTOMER ACCOUNT NUMBER */
  {0x244A , ON }, /* OCR DOUBLE BACKSLASH */
  {0x2460 , ON }, /* CIRCLED DIGIT ONE */
  {0x2461 , ON }, /* CIRCLED DIGIT TWO */
  {0x2462 , ON }, /* CIRCLED DIGIT THREE */
  {0x2463 , ON }, /* CIRCLED DIGIT FOUR */
  {0x2464 , ON }, /* CIRCLED DIGIT FIVE */
  {0x2465 , ON }, /* CIRCLED DIGIT SIX */
  {0x2466 , ON }, /* CIRCLED DIGIT SEVEN */
  {0x2467 , ON }, /* CIRCLED DIGIT EIGHT */
  {0x2468 , ON }, /* CIRCLED DIGIT NINE */
  {0x2469 , ON }, /* CIRCLED NUMBER TEN */
  {0x246A , ON }, /* CIRCLED NUMBER ELEVEN */
  {0x246B , ON }, /* CIRCLED NUMBER TWELVE */
  {0x246C , ON }, /* CIRCLED NUMBER THIRTEEN */
  {0x246D , ON }, /* CIRCLED NUMBER FOURTEEN */
  {0x246E , ON }, /* CIRCLED NUMBER FIFTEEN */
  {0x246F , ON }, /* CIRCLED NUMBER SIXTEEN */
  {0x2470 , ON }, /* CIRCLED NUMBER SEVENTEEN */
  {0x2471 , ON }, /* CIRCLED NUMBER EIGHTEEN */
  {0x2472 , ON }, /* CIRCLED NUMBER NINETEEN */
  {0x2473 , ON }, /* CIRCLED NUMBER TWENTY */
  {0x2474 , ON }, /* PARENTHESIZED DIGIT ONE */
  {0x2475 , ON }, /* PARENTHESIZED DIGIT TWO */
  {0x2476 , ON }, /* PARENTHESIZED DIGIT THREE */
  {0x2477 , ON }, /* PARENTHESIZED DIGIT FOUR */
  {0x2478 , ON }, /* PARENTHESIZED DIGIT FIVE */
  {0x2479 , ON }, /* PARENTHESIZED DIGIT SIX */
  {0x247A , ON }, /* PARENTHESIZED DIGIT SEVEN */
  {0x247B , ON }, /* PARENTHESIZED DIGIT EIGHT */
  {0x247C , ON }, /* PARENTHESIZED DIGIT NINE */
  {0x247D , ON }, /* PARENTHESIZED NUMBER TEN */
  {0x247E , ON }, /* PARENTHESIZED NUMBER ELEVEN */
  {0x247F , ON }, /* PARENTHESIZED NUMBER TWELVE */
  {0x2480 , ON }, /* PARENTHESIZED NUMBER THIRTEEN */
  {0x2481 , ON }, /* PARENTHESIZED NUMBER FOURTEEN */
  {0x2482 , ON }, /* PARENTHESIZED NUMBER FIFTEEN */
  {0x2483 , ON }, /* PARENTHESIZED NUMBER SIXTEEN */
  {0x2484 , ON }, /* PARENTHESIZED NUMBER SEVENTEEN */
  {0x2485 , ON }, /* PARENTHESIZED NUMBER EIGHTEEN */
  {0x2486 , ON }, /* PARENTHESIZED NUMBER NINETEEN */
  {0x2487 , ON }, /* PARENTHESIZED NUMBER TWENTY */
  {0x2488 , EN }, /* DIGIT ONE FULL STOP */
  {0x2489 , EN }, /* DIGIT TWO FULL STOP */
  {0x248A , EN }, /* DIGIT THREE FULL STOP */
  {0x248B , EN }, /* DIGIT FOUR FULL STOP */
  {0x248C , EN }, /* DIGIT FIVE FULL STOP */
  {0x248D , EN }, /* DIGIT SIX FULL STOP */
  {0x248E , EN }, /* DIGIT SEVEN FULL STOP */
  {0x248F , EN }, /* DIGIT EIGHT FULL STOP */
  {0x2490 , EN }, /* DIGIT NINE FULL STOP */
  {0x2491 , EN }, /* NUMBER TEN FULL STOP */
  {0x2492 , EN }, /* NUMBER ELEVEN FULL STOP */
  {0x2493 , EN }, /* NUMBER TWELVE FULL STOP */
  {0x2494 , EN }, /* NUMBER THIRTEEN FULL STOP */
  {0x2495 , EN }, /* NUMBER FOURTEEN FULL STOP */
  {0x2496 , EN }, /* NUMBER FIFTEEN FULL STOP */
  {0x2497 , EN }, /* NUMBER SIXTEEN FULL STOP */
  {0x2498 , EN }, /* NUMBER SEVENTEEN FULL STOP */
  {0x2499 , EN }, /* NUMBER EIGHTEEN FULL STOP */
  {0x249A , EN }, /* NUMBER NINETEEN FULL STOP */
  {0x249B , EN }, /* NUMBER TWENTY FULL STOP */
  {0x249C , L  }, /* PARENTHESIZED LATIN SMALL LETTER A */
  {0x249D , L  }, /* PARENTHESIZED LATIN SMALL LETTER B */
  {0x249E , L  }, /* PARENTHESIZED LATIN SMALL LETTER C */
  {0x249F , L  }, /* PARENTHESIZED LATIN SMALL LETTER D */
  {0x24A0 , L  }, /* PARENTHESIZED LATIN SMALL LETTER E */
  {0x24A1 , L  }, /* PARENTHESIZED LATIN SMALL LETTER F */
  {0x24A2 , L  }, /* PARENTHESIZED LATIN SMALL LETTER G */
  {0x24A3 , L  }, /* PARENTHESIZED LATIN SMALL LETTER H */
  {0x24A4 , L  }, /* PARENTHESIZED LATIN SMALL LETTER I */
  {0x24A5 , L  }, /* PARENTHESIZED LATIN SMALL LETTER J */
  {0x24A6 , L  }, /* PARENTHESIZED LATIN SMALL LETTER K */
  {0x24A7 , L  }, /* PARENTHESIZED LATIN SMALL LETTER L */
  {0x24A8 , L  }, /* PARENTHESIZED LATIN SMALL LETTER M */
  {0x24A9 , L  }, /* PARENTHESIZED LATIN SMALL LETTER N */
  {0x24AA , L  }, /* PARENTHESIZED LATIN SMALL LETTER O */
  {0x24AB , L  }, /* PARENTHESIZED LATIN SMALL LETTER P */
  {0x24AC , L  }, /* PARENTHESIZED LATIN SMALL LETTER Q */
  {0x24AD , L  }, /* PARENTHESIZED LATIN SMALL LETTER R */
  {0x24AE , L  }, /* PARENTHESIZED LATIN SMALL LETTER S */
  {0x24AF , L  }, /* PARENTHESIZED LATIN SMALL LETTER T */
  {0x24B0 , L  }, /* PARENTHESIZED LATIN SMALL LETTER U */
  {0x24B1 , L  }, /* PARENTHESIZED LATIN SMALL LETTER V */
  {0x24B2 , L  }, /* PARENTHESIZED LATIN SMALL LETTER W */
  {0x24B3 , L  }, /* PARENTHESIZED LATIN SMALL LETTER X */
  {0x24B4 , L  }, /* PARENTHESIZED LATIN SMALL LETTER Y */
  {0x24B5 , L  }, /* PARENTHESIZED LATIN SMALL LETTER Z */
  {0x24B6 , L  }, /* CIRCLED LATIN CAPITAL LETTER A */
  {0x24B7 , L  }, /* CIRCLED LATIN CAPITAL LETTER B */
  {0x24B8 , L  }, /* CIRCLED LATIN CAPITAL LETTER C */
  {0x24B9 , L  }, /* CIRCLED LATIN CAPITAL LETTER D */
  {0x24BA , L  }, /* CIRCLED LATIN CAPITAL LETTER E */
  {0x24BB , L  }, /* CIRCLED LATIN CAPITAL LETTER F */
  {0x24BC , L  }, /* CIRCLED LATIN CAPITAL LETTER G */
  {0x24BD , L  }, /* CIRCLED LATIN CAPITAL LETTER H */
  {0x24BE , L  }, /* CIRCLED LATIN CAPITAL LETTER I */
  {0x24BF , L  }, /* CIRCLED LATIN CAPITAL LETTER J */
  {0x24C0 , L  }, /* CIRCLED LATIN CAPITAL LETTER K */
  {0x24C1 , L  }, /* CIRCLED LATIN CAPITAL LETTER L */
  {0x24C2 , L  }, /* CIRCLED LATIN CAPITAL LETTER M */
  {0x24C3 , L  }, /* CIRCLED LATIN CAPITAL LETTER N */
  {0x24C4 , L  }, /* CIRCLED LATIN CAPITAL LETTER O */
  {0x24C5 , L  }, /* CIRCLED LATIN CAPITAL LETTER P */
  {0x24C6 , L  }, /* CIRCLED LATIN CAPITAL LETTER Q */
  {0x24C7 , L  }, /* CIRCLED LATIN CAPITAL LETTER R */
  {0x24C8 , L  }, /* CIRCLED LATIN CAPITAL LETTER S */
  {0x24C9 , L  }, /* CIRCLED LATIN CAPITAL LETTER T */
  {0x24CA , L  }, /* CIRCLED LATIN CAPITAL LETTER U */
  {0x24CB , L  }, /* CIRCLED LATIN CAPITAL LETTER V */
  {0x24CC , L  }, /* CIRCLED LATIN CAPITAL LETTER W */
  {0x24CD , L  }, /* CIRCLED LATIN CAPITAL LETTER X */
  {0x24CE , L  }, /* CIRCLED LATIN CAPITAL LETTER Y */
  {0x24CF , L  }, /* CIRCLED LATIN CAPITAL LETTER Z */
  {0x24D0 , L  }, /* CIRCLED LATIN SMALL LETTER A */
  {0x24D1 , L  }, /* CIRCLED LATIN SMALL LETTER B */
  {0x24D2 , L  }, /* CIRCLED LATIN SMALL LETTER C */
  {0x24D3 , L  }, /* CIRCLED LATIN SMALL LETTER D */
  {0x24D4 , L  }, /* CIRCLED LATIN SMALL LETTER E */
  {0x24D5 , L  }, /* CIRCLED LATIN SMALL LETTER F */
  {0x24D6 , L  }, /* CIRCLED LATIN SMALL LETTER G */
  {0x24D7 , L  }, /* CIRCLED LATIN SMALL LETTER H */
  {0x24D8 , L  }, /* CIRCLED LATIN SMALL LETTER I */
  {0x24D9 , L  }, /* CIRCLED LATIN SMALL LETTER J */
  {0x24DA , L  }, /* CIRCLED LATIN SMALL LETTER K */
  {0x24DB , L  }, /* CIRCLED LATIN SMALL LETTER L */
  {0x24DC , L  }, /* CIRCLED LATIN SMALL LETTER M */
  {0x24DD , L  }, /* CIRCLED LATIN SMALL LETTER N */
  {0x24DE , L  }, /* CIRCLED LATIN SMALL LETTER O */
  {0x24DF , L  }, /* CIRCLED LATIN SMALL LETTER P */
  {0x24E0 , L  }, /* CIRCLED LATIN SMALL LETTER Q */
  {0x24E1 , L  }, /* CIRCLED LATIN SMALL LETTER R */
  {0x24E2 , L  }, /* CIRCLED LATIN SMALL LETTER S */
  {0x24E3 , L  }, /* CIRCLED LATIN SMALL LETTER T */
  {0x24E4 , L  }, /* CIRCLED LATIN SMALL LETTER U */
  {0x24E5 , L  }, /* CIRCLED LATIN SMALL LETTER V */
  {0x24E6 , L  }, /* CIRCLED LATIN SMALL LETTER W */
  {0x24E7 , L  }, /* CIRCLED LATIN SMALL LETTER X */
  {0x24E8 , L  }, /* CIRCLED LATIN SMALL LETTER Y */
  {0x24E9 , L  }, /* CIRCLED LATIN SMALL LETTER Z */
  {0x24EA , ON }, /* CIRCLED DIGIT ZERO */
  {0x24EB , ON }, /* NEGATIVE CIRCLED NUMBER ELEVEN */
  {0x24EC , ON }, /* NEGATIVE CIRCLED NUMBER TWELVE */
  {0x24ED , ON }, /* NEGATIVE CIRCLED NUMBER THIRTEEN */
  {0x24EE , ON }, /* NEGATIVE CIRCLED NUMBER FOURTEEN */
  {0x24EF , ON }, /* NEGATIVE CIRCLED NUMBER FIFTEEN */
  {0x24F0 , ON }, /* NEGATIVE CIRCLED NUMBER SIXTEEN */
  {0x24F1 , ON }, /* NEGATIVE CIRCLED NUMBER SEVENTEEN */
  {0x24F2 , ON }, /* NEGATIVE CIRCLED NUMBER EIGHTEEN */
  {0x24F3 , ON }, /* NEGATIVE CIRCLED NUMBER NINETEEN */
  {0x24F4 , ON }, /* NEGATIVE CIRCLED NUMBER TWENTY */
  {0x24F5 , ON }, /* DOUBLE CIRCLED DIGIT ONE */
  {0x24F6 , ON }, /* DOUBLE CIRCLED DIGIT TWO */
  {0x24F7 , ON }, /* DOUBLE CIRCLED DIGIT THREE */
  {0x24F8 , ON }, /* DOUBLE CIRCLED DIGIT FOUR */
  {0x24F9 , ON }, /* DOUBLE CIRCLED DIGIT FIVE */
  {0x24FA , ON }, /* DOUBLE CIRCLED DIGIT SIX */
  {0x24FB , ON }, /* DOUBLE CIRCLED DIGIT SEVEN */
  {0x24FC , ON }, /* DOUBLE CIRCLED DIGIT EIGHT */
  {0x24FD , ON }, /* DOUBLE CIRCLED DIGIT NINE */
  {0x24FE , ON }, /* DOUBLE CIRCLED NUMBER TEN */
  {0x24FF , ON }, /* NEGATIVE CIRCLED DIGIT ZERO */
  {0x2500 , ON }, /* BOX DRAWINGS LIGHT HORIZONTAL */
  {0x2501 , ON }, /* BOX DRAWINGS HEAVY HORIZONTAL */
  {0x2502 , ON }, /* BOX DRAWINGS LIGHT VERTICAL */
  {0x2503 , ON }, /* BOX DRAWINGS HEAVY VERTICAL */
  {0x2504 , ON }, /* BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL */
  {0x2505 , ON }, /* BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL */
  {0x2506 , ON }, /* BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL */
  {0x2507 , ON }, /* BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL */
  {0x2508 , ON }, /* BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL */
  {0x2509 , ON }, /* BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL */
  {0x250A , ON }, /* BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL */
  {0x250B , ON }, /* BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL */
  {0x250C , ON }, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */
  {0x250D , ON }, /* BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY */
  {0x250E , ON }, /* BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT */
  {0x250F , ON }, /* BOX DRAWINGS HEAVY DOWN AND RIGHT */
  {0x2510 , ON }, /* BOX DRAWINGS LIGHT DOWN AND LEFT */
  {0x2511 , ON }, /* BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY */
  {0x2512 , ON }, /* BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT */
  {0x2513 , ON }, /* BOX DRAWINGS HEAVY DOWN AND LEFT */
  {0x2514 , ON }, /* BOX DRAWINGS LIGHT UP AND RIGHT */
  {0x2515 , ON }, /* BOX DRAWINGS UP LIGHT AND RIGHT HEAVY */
  {0x2516 , ON }, /* BOX DRAWINGS UP HEAVY AND RIGHT LIGHT */
  {0x2517 , ON }, /* BOX DRAWINGS HEAVY UP AND RIGHT */
  {0x2518 , ON }, /* BOX DRAWINGS LIGHT UP AND LEFT */
  {0x2519 , ON }, /* BOX DRAWINGS UP LIGHT AND LEFT HEAVY */
  {0x251A , ON }, /* BOX DRAWINGS UP HEAVY AND LEFT LIGHT */
  {0x251B , ON }, /* BOX DRAWINGS HEAVY UP AND LEFT */
  {0x251C , ON }, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
  {0x251D , ON }, /* BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY */
  {0x251E , ON }, /* BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT */
  {0x251F , ON }, /* BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT */
  {0x2520 , ON }, /* BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT */
  {0x2521 , ON }, /* BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY */
  {0x2522 , ON }, /* BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY */
  {0x2523 , ON }, /* BOX DRAWINGS HEAVY VERTICAL AND RIGHT */
  {0x2524 , ON }, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
  {0x2525 , ON }, /* BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY */
  {0x2526 , ON }, /* BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT */
  {0x2527 , ON }, /* BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT */
  {0x2528 , ON }, /* BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT */
  {0x2529 , ON }, /* BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY */
  {0x252A , ON }, /* BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY */
  {0x252B , ON }, /* BOX DRAWINGS HEAVY VERTICAL AND LEFT */
  {0x252C , ON }, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
  {0x252D , ON }, /* BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT */
  {0x252E , ON }, /* BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT */
  {0x252F , ON }, /* BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY */
  {0x2530 , ON }, /* BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT */
  {0x2531 , ON }, /* BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY */
  {0x2532 , ON }, /* BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY */
  {0x2533 , ON }, /* BOX DRAWINGS HEAVY DOWN AND HORIZONTAL */
  {0x2534 , ON }, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
  {0x2535 , ON }, /* BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT */
  {0x2536 , ON }, /* BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT */
  {0x2537 , ON }, /* BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY */
  {0x2538 , ON }, /* BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT */
  {0x2539 , ON }, /* BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY */
  {0x253A , ON }, /* BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY */
  {0x253B , ON }, /* BOX DRAWINGS HEAVY UP AND HORIZONTAL */
  {0x253C , ON }, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
  {0x253D , ON }, /* BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT */
  {0x253E , ON }, /* BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT */
  {0x253F , ON }, /* BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY */
  {0x2540 , ON }, /* BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT */
  {0x2541 , ON }, /* BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT */
  {0x2542 , ON }, /* BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT */
  {0x2543 , ON }, /* BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT */
  {0x2544 , ON }, /* BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT */
  {0x2545 , ON }, /* BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT */
  {0x2546 , ON }, /* BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT */
  {0x2547 , ON }, /* BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY */
  {0x2548 , ON }, /* BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY */
  {0x2549 , ON }, /* BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY */
  {0x254A , ON }, /* BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY */
  {0x254B , ON }, /* BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL */
  {0x254C , ON }, /* BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL */
  {0x254D , ON }, /* BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL */
  {0x254E , ON }, /* BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL */
  {0x254F , ON }, /* BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL */
  {0x2550 , ON }, /* BOX DRAWINGS DOUBLE HORIZONTAL */
  {0x2551 , ON }, /* BOX DRAWINGS DOUBLE VERTICAL */
  {0x2552 , ON }, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */
  {0x2553 , ON }, /* BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE */
  {0x2554 , ON }, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */
  {0x2555 , ON }, /* BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE */
  {0x2556 , ON }, /* BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE */
  {0x2557 , ON }, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */
  {0x2558 , ON }, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */
  {0x2559 , ON }, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */
  {0x255A , ON }, /* BOX DRAWINGS DOUBLE UP AND RIGHT */
  {0x255B , ON }, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */
  {0x255C , ON }, /* BOX DRAWINGS UP DOUBLE AND LEFT SINGLE */
  {0x255D , ON }, /* BOX DRAWINGS DOUBLE UP AND LEFT */
  {0x255E , ON }, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */
  {0x255F , ON }, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */
  {0x2560 , ON }, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */
  {0x2561 , ON }, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */
  {0x2562 , ON }, /* BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE */
  {0x2563 , ON }, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */
  {0x2564 , ON }, /* BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE */
  {0x2565 , ON }, /* BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE */
  {0x2566 , ON }, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */
  {0x2567 , ON }, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */
  {0x2568 , ON }, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */
  {0x2569 , ON }, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */
  {0x256A , ON }, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE */
  {0x256B , ON }, /* BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE */
  {0x256C , ON }, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */
  {0x256D , ON }, /* BOX DRAWINGS LIGHT ARC DOWN AND RIGHT */
  {0x256E , ON }, /* BOX DRAWINGS LIGHT ARC DOWN AND LEFT */
  {0x256F , ON }, /* BOX DRAWINGS LIGHT ARC UP AND LEFT */
  {0x2570 , ON }, /* BOX DRAWINGS LIGHT ARC UP AND RIGHT */
  {0x2571 , ON }, /* BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT */
  {0x2572 , ON }, /* BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT */
  {0x2573 , ON }, /* BOX DRAWINGS LIGHT DIAGONAL CROSS */
  {0x2574 , ON }, /* BOX DRAWINGS LIGHT LEFT */
  {0x2575 , ON }, /* BOX DRAWINGS LIGHT UP */
  {0x2576 , ON }, /* BOX DRAWINGS LIGHT RIGHT */
  {0x2577 , ON }, /* BOX DRAWINGS LIGHT DOWN */
  {0x2578 , ON }, /* BOX DRAWINGS HEAVY LEFT */
  {0x2579 , ON }, /* BOX DRAWINGS HEAVY UP */
  {0x257A , ON }, /* BOX DRAWINGS HEAVY RIGHT */
  {0x257B , ON }, /* BOX DRAWINGS HEAVY DOWN */
  {0x257C , ON }, /* BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT */
  {0x257D , ON }, /* BOX DRAWINGS LIGHT UP AND HEAVY DOWN */
  {0x257E , ON }, /* BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT */
  {0x257F , ON }, /* BOX DRAWINGS HEAVY UP AND LIGHT DOWN */
  {0x2580 , ON }, /* UPPER HALF BLOCK */
  {0x2581 , ON }, /* LOWER ONE EIGHTH BLOCK */
  {0x2582 , ON }, /* LOWER ONE QUARTER BLOCK */
  {0x2583 , ON }, /* LOWER THREE EIGHTHS BLOCK */
  {0x2584 , ON }, /* LOWER HALF BLOCK */
  {0x2585 , ON }, /* LOWER FIVE EIGHTHS BLOCK */
  {0x2586 , ON }, /* LOWER THREE QUARTERS BLOCK */
  {0x2587 , ON }, /* LOWER SEVEN EIGHTHS BLOCK */
  {0x2588 , ON }, /* FULL BLOCK */
  {0x2589 , ON }, /* LEFT SEVEN EIGHTHS BLOCK */
  {0x258A , ON }, /* LEFT THREE QUARTERS BLOCK */
  {0x258B , ON }, /* LEFT FIVE EIGHTHS BLOCK */
  {0x258C , ON }, /* LEFT HALF BLOCK */
  {0x258D , ON }, /* LEFT THREE EIGHTHS BLOCK */
  {0x258E , ON }, /* LEFT ONE QUARTER BLOCK */
  {0x258F , ON }, /* LEFT ONE EIGHTH BLOCK */
  {0x2590 , ON }, /* RIGHT HALF BLOCK */
  {0x2591 , ON }, /* LIGHT SHADE */
  {0x2592 , ON }, /* MEDIUM SHADE */
  {0x2593 , ON }, /* DARK SHADE */
  {0x2594 , ON }, /* UPPER ONE EIGHTH BLOCK */
  {0x2595 , ON }, /* RIGHT ONE EIGHTH BLOCK */
  {0x2596 , ON }, /* QUADRANT LOWER LEFT */
  {0x2597 , ON }, /* QUADRANT LOWER RIGHT */
  {0x2598 , ON }, /* QUADRANT UPPER LEFT */
  {0x2599 , ON }, /* QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT */
  {0x259A , ON }, /* QUADRANT UPPER LEFT AND LOWER RIGHT */
  {0x259B , ON }, /* QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT */
  {0x259C , ON }, /* QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT */
  {0x259D , ON }, /* QUADRANT UPPER RIGHT */
  {0x259E , ON }, /* QUADRANT UPPER RIGHT AND LOWER LEFT */
  {0x259F , ON }, /* QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT */
  {0x25A0 , ON }, /* BLACK SQUARE */
  {0x25A1 , ON }, /* WHITE SQUARE */
  {0x25A2 , ON }, /* WHITE SQUARE WITH ROUNDED CORNERS */
  {0x25A3 , ON }, /* WHITE SQUARE CONTAINING BLACK SMALL SQUARE */
  {0x25A4 , ON }, /* SQUARE WITH HORIZONTAL FILL */
  {0x25A5 , ON }, /* SQUARE WITH VERTICAL FILL */
  {0x25A6 , ON }, /* SQUARE WITH ORTHOGONAL CROSSHATCH FILL */
  {0x25A7 , ON }, /* SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL */
  {0x25A8 , ON }, /* SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL */
  {0x25A9 , ON }, /* SQUARE WITH DIAGONAL CROSSHATCH FILL */
  {0x25AA , ON }, /* BLACK SMALL SQUARE */
  {0x25AB , ON }, /* WHITE SMALL SQUARE */
  {0x25AC , ON }, /* BLACK RECTANGLE */
  {0x25AD , ON }, /* WHITE RECTANGLE */
  {0x25AE , ON }, /* BLACK VERTICAL RECTANGLE */
  {0x25AF , ON }, /* WHITE VERTICAL RECTANGLE */
  {0x25B0 , ON }, /* BLACK PARALLELOGRAM */
  {0x25B1 , ON }, /* WHITE PARALLELOGRAM */
  {0x25B2 , ON }, /* BLACK UP-POINTING TRIANGLE */
  {0x25B3 , ON }, /* WHITE UP-POINTING TRIANGLE */
  {0x25B4 , ON }, /* BLACK UP-POINTING SMALL TRIANGLE */
  {0x25B5 , ON }, /* WHITE UP-POINTING SMALL TRIANGLE */
  {0x25B6 , ON }, /* BLACK RIGHT-POINTING TRIANGLE */
  {0x25B7 , ON }, /* WHITE RIGHT-POINTING TRIANGLE */
  {0x25B8 , ON }, /* BLACK RIGHT-POINTING SMALL TRIANGLE */
  {0x25B9 , ON }, /* WHITE RIGHT-POINTING SMALL TRIANGLE */
  {0x25BA , ON }, /* BLACK RIGHT-POINTING POINTER */
  {0x25BB , ON }, /* WHITE RIGHT-POINTING POINTER */
  {0x25BC , ON }, /* BLACK DOWN-POINTING TRIANGLE */
  {0x25BD , ON }, /* WHITE DOWN-POINTING TRIANGLE */
  {0x25BE , ON }, /* BLACK DOWN-POINTING SMALL TRIANGLE */
  {0x25BF , ON }, /* WHITE DOWN-POINTING SMALL TRIANGLE */
  {0x25C0 , ON }, /* BLACK LEFT-POINTING TRIANGLE */
  {0x25C1 , ON }, /* WHITE LEFT-POINTING TRIANGLE */
  {0x25C2 , ON }, /* BLACK LEFT-POINTING SMALL TRIANGLE */
  {0x25C3 , ON }, /* WHITE LEFT-POINTING SMALL TRIANGLE */
  {0x25C4 , ON }, /* BLACK LEFT-POINTING POINTER */
  {0x25C5 , ON }, /* WHITE LEFT-POINTING POINTER */
  {0x25C6 , ON }, /* BLACK DIAMOND */
  {0x25C7 , ON }, /* WHITE DIAMOND */
  {0x25C8 , ON }, /* WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND */
  {0x25C9 , ON }, /* FISHEYE */
  {0x25CA , ON }, /* LOZENGE */
  {0x25CB , ON }, /* WHITE CIRCLE */
  {0x25CC , ON }, /* DOTTED CIRCLE */
  {0x25CD , ON }, /* CIRCLE WITH VERTICAL FILL */
  {0x25CE , ON }, /* BULLSEYE */
  {0x25CF , ON }, /* BLACK CIRCLE */
  {0x25D0 , ON }, /* CIRCLE WITH LEFT HALF BLACK */
  {0x25D1 , ON }, /* CIRCLE WITH RIGHT HALF BLACK */
  {0x25D2 , ON }, /* CIRCLE WITH LOWER HALF BLACK */
  {0x25D3 , ON }, /* CIRCLE WITH UPPER HALF BLACK */
  {0x25D4 , ON }, /* CIRCLE WITH UPPER RIGHT QUADRANT BLACK */
  {0x25D5 , ON }, /* CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK */
  {0x25D6 , ON }, /* LEFT HALF BLACK CIRCLE */
  {0x25D7 , ON }, /* RIGHT HALF BLACK CIRCLE */
  {0x25D8 , ON }, /* INVERSE BULLET */
  {0x25D9 , ON }, /* INVERSE WHITE CIRCLE */
  {0x25DA , ON }, /* UPPER HALF INVERSE WHITE CIRCLE */
  {0x25DB , ON }, /* LOWER HALF INVERSE WHITE CIRCLE */
  {0x25DC , ON }, /* UPPER LEFT QUADRANT CIRCULAR ARC */
  {0x25DD , ON }, /* UPPER RIGHT QUADRANT CIRCULAR ARC */
  {0x25DE , ON }, /* LOWER RIGHT QUADRANT CIRCULAR ARC */
  {0x25DF , ON }, /* LOWER LEFT QUADRANT CIRCULAR ARC */
  {0x25E0 , ON }, /* UPPER HALF CIRCLE */
  {0x25E1 , ON }, /* LOWER HALF CIRCLE */
  {0x25E2 , ON }, /* BLACK LOWER RIGHT TRIANGLE */
  {0x25E3 , ON }, /* BLACK LOWER LEFT TRIANGLE */
  {0x25E4 , ON }, /* BLACK UPPER LEFT TRIANGLE */
  {0x25E5 , ON }, /* BLACK UPPER RIGHT TRIANGLE */
  {0x25E6 , ON }, /* WHITE BULLET */
  {0x25E7 , ON }, /* SQUARE WITH LEFT HALF BLACK */
  {0x25E8 , ON }, /* SQUARE WITH RIGHT HALF BLACK */
  {0x25E9 , ON }, /* SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK */
  {0x25EA , ON }, /* SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK */
  {0x25EB , ON }, /* WHITE SQUARE WITH VERTICAL BISECTING LINE */
  {0x25EC , ON }, /* WHITE UP-POINTING TRIANGLE WITH DOT */
  {0x25ED , ON }, /* UP-POINTING TRIANGLE WITH LEFT HALF BLACK */
  {0x25EE , ON }, /* UP-POINTING TRIANGLE WITH RIGHT HALF BLACK */
  {0x25EF , ON }, /* LARGE CIRCLE */
  {0x25F0 , ON }, /* WHITE SQUARE WITH UPPER LEFT QUADRANT */
  {0x25F1 , ON }, /* WHITE SQUARE WITH LOWER LEFT QUADRANT */
  {0x25F2 , ON }, /* WHITE SQUARE WITH LOWER RIGHT QUADRANT */
  {0x25F3 , ON }, /* WHITE SQUARE WITH UPPER RIGHT QUADRANT */
  {0x25F4 , ON }, /* WHITE CIRCLE WITH UPPER LEFT QUADRANT */
  {0x25F5 , ON }, /* WHITE CIRCLE WITH LOWER LEFT QUADRANT */
  {0x25F6 , ON }, /* WHITE CIRCLE WITH LOWER RIGHT QUADRANT */
  {0x25F7 , ON }, /* WHITE CIRCLE WITH UPPER RIGHT QUADRANT */
  {0x25F8 , ON }, /* UPPER LEFT TRIANGLE */
  {0x25F9 , ON }, /* UPPER RIGHT TRIANGLE */
  {0x25FA , ON }, /* LOWER LEFT TRIANGLE */
  {0x25FB , ON }, /* WHITE MEDIUM SQUARE */
  {0x25FC , ON }, /* BLACK MEDIUM SQUARE */
  {0x25FD , ON }, /* WHITE MEDIUM SMALL SQUARE */
  {0x25FE , ON }, /* BLACK MEDIUM SMALL SQUARE */
  {0x25FF , ON }, /* LOWER RIGHT TRIANGLE */
  {0x2600 , ON }, /* BLACK SUN WITH RAYS */
  {0x2601 , ON }, /* CLOUD */
  {0x2602 , ON }, /* UMBRELLA */
  {0x2603 , ON }, /* SNOWMAN */
  {0x2604 , ON }, /* COMET */
  {0x2605 , ON }, /* BLACK STAR */
  {0x2606 , ON }, /* WHITE STAR */
  {0x2607 , ON }, /* LIGHTNING */
  {0x2608 , ON }, /* THUNDERSTORM */
  {0x2609 , ON }, /* SUN */
  {0x260A , ON }, /* ASCENDING NODE */
  {0x260B , ON }, /* DESCENDING NODE */
  {0x260C , ON }, /* CONJUNCTION */
  {0x260D , ON }, /* OPPOSITION */
  {0x260E , ON }, /* BLACK TELEPHONE */
  {0x260F , ON }, /* WHITE TELEPHONE */
  {0x2610 , ON }, /* BALLOT BOX */
  {0x2611 , ON }, /* BALLOT BOX WITH CHECK */
  {0x2612 , ON }, /* BALLOT BOX WITH X */
  {0x2613 , ON }, /* SALTIRE */
  {0x2614 , ON }, /* UMBRELLA WITH RAIN DROPS */
  {0x2615 , ON }, /* HOT BEVERAGE */
  {0x2616 , ON }, /* WHITE SHOGI PIECE */
  {0x2617 , ON }, /* BLACK SHOGI PIECE */
  {0x2618 , ON }, /* SHAMROCK */
  {0x2619 , ON }, /* REVERSED ROTATED FLORAL HEART BULLET */
  {0x261A , ON }, /* BLACK LEFT POINTING INDEX */
  {0x261B , ON }, /* BLACK RIGHT POINTING INDEX */
  {0x261C , ON }, /* WHITE LEFT POINTING INDEX */
  {0x261D , ON }, /* WHITE UP POINTING INDEX */
  {0x261E , ON }, /* WHITE RIGHT POINTING INDEX */
  {0x261F , ON }, /* WHITE DOWN POINTING INDEX */
  {0x2620 , ON }, /* SKULL AND CROSSBONES */
  {0x2621 , ON }, /* CAUTION SIGN */
  {0x2622 , ON }, /* RADIOACTIVE SIGN */
  {0x2623 , ON }, /* BIOHAZARD SIGN */
  {0x2624 , ON }, /* CADUCEUS */
  {0x2625 , ON }, /* ANKH */
  {0x2626 , ON }, /* ORTHODOX CROSS */
  {0x2627 , ON }, /* CHI RHO */
  {0x2628 , ON }, /* CROSS OF LORRAINE */
  {0x2629 , ON }, /* CROSS OF JERUSALEM */
  {0x262A , ON }, /* STAR AND CRESCENT */
  {0x262B , ON }, /* FARSI SYMBOL */
  {0x262C , ON }, /* ADI SHAKTI */
  {0x262D , ON }, /* HAMMER AND SICKLE */
  {0x262E , ON }, /* PEACE SYMBOL */
  {0x262F , ON }, /* YIN YANG */
  {0x2630 , ON }, /* TRIGRAM FOR HEAVEN */
  {0x2631 , ON }, /* TRIGRAM FOR LAKE */
  {0x2632 , ON }, /* TRIGRAM FOR FIRE */
  {0x2633 , ON }, /* TRIGRAM FOR THUNDER */
  {0x2634 , ON }, /* TRIGRAM FOR WIND */
  {0x2635 , ON }, /* TRIGRAM FOR WATER */
  {0x2636 , ON }, /* TRIGRAM FOR MOUNTAIN */
  {0x2637 , ON }, /* TRIGRAM FOR EARTH */
  {0x2638 , ON }, /* WHEEL OF DHARMA */
  {0x2639 , ON }, /* WHITE FROWNING FACE */
  {0x263A , ON }, /* WHITE SMILING FACE */
  {0x263B , ON }, /* BLACK SMILING FACE */
  {0x263C , ON }, /* WHITE SUN WITH RAYS */
  {0x263D , ON }, /* FIRST QUARTER MOON */
  {0x263E , ON }, /* LAST QUARTER MOON */
  {0x263F , ON }, /* MERCURY */
  {0x2640 , ON }, /* FEMALE SIGN */
  {0x2641 , ON }, /* EARTH */
  {0x2642 , ON }, /* MALE SIGN */
  {0x2643 , ON }, /* JUPITER */
  {0x2644 , ON }, /* SATURN */
  {0x2645 , ON }, /* URANUS */
  {0x2646 , ON }, /* NEPTUNE */
  {0x2647 , ON }, /* PLUTO */
  {0x2648 , ON }, /* ARIES */
  {0x2649 , ON }, /* TAURUS */
  {0x264A , ON }, /* GEMINI */
  {0x264B , ON }, /* CANCER */
  {0x264C , ON }, /* LEO */
  {0x264D , ON }, /* VIRGO */
  {0x264E , ON }, /* LIBRA */
  {0x264F , ON }, /* SCORPIUS */
  {0x2650 , ON }, /* SAGITTARIUS */
  {0x2651 , ON }, /* CAPRICORN */
  {0x2652 , ON }, /* AQUARIUS */
  {0x2653 , ON }, /* PISCES */
  {0x2654 , ON }, /* WHITE CHESS KING */
  {0x2655 , ON }, /* WHITE CHESS QUEEN */
  {0x2656 , ON }, /* WHITE CHESS ROOK */
  {0x2657 , ON }, /* WHITE CHESS BISHOP */
  {0x2658 , ON }, /* WHITE CHESS KNIGHT */
  {0x2659 , ON }, /* WHITE CHESS PAWN */
  {0x265A , ON }, /* BLACK CHESS KING */
  {0x265B , ON }, /* BLACK CHESS QUEEN */
  {0x265C , ON }, /* BLACK CHESS ROOK */
  {0x265D , ON }, /* BLACK CHESS BISHOP */
  {0x265E , ON }, /* BLACK CHESS KNIGHT */
  {0x265F , ON }, /* BLACK CHESS PAWN */
  {0x2660 , ON }, /* BLACK SPADE SUIT */
  {0x2661 , ON }, /* WHITE HEART SUIT */
  {0x2662 , ON }, /* WHITE DIAMOND SUIT */
  {0x2663 , ON }, /* BLACK CLUB SUIT */
  {0x2664 , ON }, /* WHITE SPADE SUIT */
  {0x2665 , ON }, /* BLACK HEART SUIT */
  {0x2666 , ON }, /* BLACK DIAMOND SUIT */
  {0x2667 , ON }, /* WHITE CLUB SUIT */
  {0x2668 , ON }, /* HOT SPRINGS */
  {0x2669 , ON }, /* QUARTER NOTE */
  {0x266A , ON }, /* EIGHTH NOTE */
  {0x266B , ON }, /* BEAMED EIGHTH NOTES */
  {0x266C , ON }, /* BEAMED SIXTEENTH NOTES */
  {0x266D , ON }, /* MUSIC FLAT SIGN */
  {0x266E , ON }, /* MUSIC NATURAL SIGN */
  {0x266F , ON }, /* MUSIC SHARP SIGN */
  {0x2670 , ON }, /* WEST SYRIAC CROSS */
  {0x2671 , ON }, /* EAST SYRIAC CROSS */
  {0x2672 , ON }, /* UNIVERSAL RECYCLING SYMBOL */
  {0x2673 , ON }, /* RECYCLING SYMBOL FOR TYPE-1 PLASTICS */
  {0x2674 , ON }, /* RECYCLING SYMBOL FOR TYPE-2 PLASTICS */
  {0x2675 , ON }, /* RECYCLING SYMBOL FOR TYPE-3 PLASTICS */
  {0x2676 , ON }, /* RECYCLING SYMBOL FOR TYPE-4 PLASTICS */
  {0x2677 , ON }, /* RECYCLING SYMBOL FOR TYPE-5 PLASTICS */
  {0x2678 , ON }, /* RECYCLING SYMBOL FOR TYPE-6 PLASTICS */
  {0x2679 , ON }, /* RECYCLING SYMBOL FOR TYPE-7 PLASTICS */
  {0x267A , ON }, /* RECYCLING SYMBOL FOR GENERIC MATERIALS */
  {0x267B , ON }, /* BLACK UNIVERSAL RECYCLING SYMBOL */
  {0x267C , ON }, /* RECYCLED PAPER SYMBOL */
  {0x267D , ON }, /* PARTIALLY-RECYCLED PAPER SYMBOL */
  {0x267E , ON }, /* PERMANENT PAPER SIGN */
  {0x267F , ON }, /* WHEELCHAIR SYMBOL */
  {0x2680 , ON }, /* DIE FACE-1 */
  {0x2681 , ON }, /* DIE FACE-2 */
  {0x2682 , ON }, /* DIE FACE-3 */
  {0x2683 , ON }, /* DIE FACE-4 */
  {0x2684 , ON }, /* DIE FACE-5 */
  {0x2685 , ON }, /* DIE FACE-6 */
  {0x2686 , ON }, /* WHITE CIRCLE WITH DOT RIGHT */
  {0x2687 , ON }, /* WHITE CIRCLE WITH TWO DOTS */
  {0x2688 , ON }, /* BLACK CIRCLE WITH WHITE DOT RIGHT */
  {0x2689 , ON }, /* BLACK CIRCLE WITH TWO WHITE DOTS */
  {0x268A , ON }, /* MONOGRAM FOR YANG */
  {0x268B , ON }, /* MONOGRAM FOR YIN */
  {0x268C , ON }, /* DIGRAM FOR GREATER YANG */
  {0x268D , ON }, /* DIGRAM FOR LESSER YIN */
  {0x268E , ON }, /* DIGRAM FOR LESSER YANG */
  {0x268F , ON }, /* DIGRAM FOR GREATER YIN */
  {0x2690 , ON }, /* WHITE FLAG */
  {0x2691 , ON }, /* BLACK FLAG */
  {0x2692 , ON }, /* HAMMER AND PICK */
  {0x2693 , ON }, /* ANCHOR */
  {0x2694 , ON }, /* CROSSED SWORDS */
  {0x2695 , ON }, /* STAFF OF AESCULAPIUS */
  {0x2696 , ON }, /* SCALES */
  {0x2697 , ON }, /* ALEMBIC */
  {0x2698 , ON }, /* FLOWER */
  {0x2699 , ON }, /* GEAR */
  {0x269A , ON }, /* STAFF OF HERMES */
  {0x269B , ON }, /* ATOM SYMBOL */
  {0x269C , ON }, /* FLEUR-DE-LIS */
  {0x26A0 , ON }, /* WARNING SIGN */
  {0x26A1 , ON }, /* HIGH VOLTAGE SIGN */
  {0x26A2 , ON }, /* DOUBLED FEMALE SIGN */
  {0x26A3 , ON }, /* DOUBLED MALE SIGN */
  {0x26A4 , ON }, /* INTERLOCKED FEMALE AND MALE SIGN */
  {0x26A5 , ON }, /* MALE AND FEMALE SIGN */
  {0x26A6 , ON }, /* MALE WITH STROKE SIGN */
  {0x26A7 , ON }, /* MALE WITH STROKE AND MALE AND FEMALE SIGN */
  {0x26A8 , ON }, /* VERTICAL MALE WITH STROKE SIGN */
  {0x26A9 , ON }, /* HORIZONTAL MALE WITH STROKE SIGN */
  {0x26AA , ON }, /* MEDIUM WHITE CIRCLE */
  {0x26AB , ON }, /* MEDIUM BLACK CIRCLE */
  {0x26AC , L  }, /* MEDIUM SMALL WHITE CIRCLE */
  {0x26AD , ON }, /* MARRIAGE SYMBOL */
  {0x26AE , ON }, /* DIVORCE SYMBOL */
  {0x26AF , ON }, /* UNMARRIED PARTNERSHIP SYMBOL */
  {0x26B0 , ON }, /* COFFIN */
  {0x26B1 , ON }, /* FUNERAL URN */
  {0x2701 , ON }, /* UPPER BLADE SCISSORS */
  {0x2702 , ON }, /* BLACK SCISSORS */
  {0x2703 , ON }, /* LOWER BLADE SCISSORS */
  {0x2704 , ON }, /* WHITE SCISSORS */
  {0x2706 , ON }, /* TELEPHONE LOCATION SIGN */
  {0x2707 , ON }, /* TAPE DRIVE */
  {0x2708 , ON }, /* AIRPLANE */
  {0x2709 , ON }, /* ENVELOPE */
  {0x270C , ON }, /* VICTORY HAND */
  {0x270D , ON }, /* WRITING HAND */
  {0x270E , ON }, /* LOWER RIGHT PENCIL */
  {0x270F , ON }, /* PENCIL */
  {0x2710 , ON }, /* UPPER RIGHT PENCIL */
  {0x2711 , ON }, /* WHITE NIB */
  {0x2712 , ON }, /* BLACK NIB */
  {0x2713 , ON }, /* CHECK MARK */
  {0x2714 , ON }, /* HEAVY CHECK MARK */
  {0x2715 , ON }, /* MULTIPLICATION X */
  {0x2716 , ON }, /* HEAVY MULTIPLICATION X */
  {0x2717 , ON }, /* BALLOT X */
  {0x2718 , ON }, /* HEAVY BALLOT X */
  {0x2719 , ON }, /* OUTLINED GREEK CROSS */
  {0x271A , ON }, /* HEAVY GREEK CROSS */
  {0x271B , ON }, /* OPEN CENTRE CROSS */
  {0x271C , ON }, /* HEAVY OPEN CENTRE CROSS */
  {0x271D , ON }, /* LATIN CROSS */
  {0x271E , ON }, /* SHADOWED WHITE LATIN CROSS */
  {0x271F , ON }, /* OUTLINED LATIN CROSS */
  {0x2720 , ON }, /* MALTESE CROSS */
  {0x2721 , ON }, /* STAR OF DAVID */
  {0x2722 , ON }, /* FOUR TEARDROP-SPOKED ASTERISK */
  {0x2723 , ON }, /* FOUR BALLOON-SPOKED ASTERISK */
  {0x2724 , ON }, /* HEAVY FOUR BALLOON-SPOKED ASTERISK */
  {0x2725 , ON }, /* FOUR CLUB-SPOKED ASTERISK */
  {0x2726 , ON }, /* BLACK FOUR POINTED STAR */
  {0x2727 , ON }, /* WHITE FOUR POINTED STAR */
  {0x2729 , ON }, /* STRESS OUTLINED WHITE STAR */
  {0x272A , ON }, /* CIRCLED WHITE STAR */
  {0x272B , ON }, /* OPEN CENTRE BLACK STAR */
  {0x272C , ON }, /* BLACK CENTRE WHITE STAR */
  {0x272D , ON }, /* OUTLINED BLACK STAR */
  {0x272E , ON }, /* HEAVY OUTLINED BLACK STAR */
  {0x272F , ON }, /* PINWHEEL STAR */
  {0x2730 , ON }, /* SHADOWED WHITE STAR */
  {0x2731 , ON }, /* HEAVY ASTERISK */
  {0x2732 , ON }, /* OPEN CENTRE ASTERISK */
  {0x2733 , ON }, /* EIGHT SPOKED ASTERISK */
  {0x2734 , ON }, /* EIGHT POINTED BLACK STAR */
  {0x2735 , ON }, /* EIGHT POINTED PINWHEEL STAR */
  {0x2736 , ON }, /* SIX POINTED BLACK STAR */
  {0x2737 , ON }, /* EIGHT POINTED RECTILINEAR BLACK STAR */
  {0x2738 , ON }, /* HEAVY EIGHT POINTED RECTILINEAR BLACK STAR */
  {0x2739 , ON }, /* TWELVE POINTED BLACK STAR */
  {0x273A , ON }, /* SIXTEEN POINTED ASTERISK */
  {0x273B , ON }, /* TEARDROP-SPOKED ASTERISK */
  {0x273C , ON }, /* OPEN CENTRE TEARDROP-SPOKED ASTERISK */
  {0x273D , ON }, /* HEAVY TEARDROP-SPOKED ASTERISK */
  {0x273E , ON }, /* SIX PETALLED BLACK AND WHITE FLORETTE */
  {0x273F , ON }, /* BLACK FLORETTE */
  {0x2740 , ON }, /* WHITE FLORETTE */
  {0x2741 , ON }, /* EIGHT PETALLED OUTLINED BLACK FLORETTE */
  {0x2742 , ON }, /* CIRCLED OPEN CENTRE EIGHT POINTED STAR */
  {0x2743 , ON }, /* HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK */
  {0x2744 , ON }, /* SNOWFLAKE */
  {0x2745 , ON }, /* TIGHT TRIFOLIATE SNOWFLAKE */
  {0x2746 , ON }, /* HEAVY CHEVRON SNOWFLAKE */
  {0x2747 , ON }, /* SPARKLE */
  {0x2748 , ON }, /* HEAVY SPARKLE */
  {0x2749 , ON }, /* BALLOON-SPOKED ASTERISK */
  {0x274A , ON }, /* EIGHT TEARDROP-SPOKED PROPELLER ASTERISK */
  {0x274B , ON }, /* HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK */
  {0x274D , ON }, /* SHADOWED WHITE CIRCLE */
  {0x274F , ON }, /* LOWER RIGHT DROP-SHADOWED WHITE SQUARE */
  {0x2750 , ON }, /* UPPER RIGHT DROP-SHADOWED WHITE SQUARE */
  {0x2751 , ON }, /* LOWER RIGHT SHADOWED WHITE SQUARE */
  {0x2752 , ON }, /* UPPER RIGHT SHADOWED WHITE SQUARE */
  {0x2756 , ON }, /* BLACK DIAMOND MINUS WHITE X */
  {0x2758 , ON }, /* LIGHT VERTICAL BAR */
  {0x2759 , ON }, /* MEDIUM VERTICAL BAR */
  {0x275A , ON }, /* HEAVY VERTICAL BAR */
  {0x275B , ON }, /* HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT */
  {0x275C , ON }, /* HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT */
  {0x275D , ON }, /* HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT */
  {0x275E , ON }, /* HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT */
  {0x2761 , ON }, /* CURVED STEM PARAGRAPH SIGN ORNAMENT */
  {0x2762 , ON }, /* HEAVY EXCLAMATION MARK ORNAMENT */
  {0x2763 , ON }, /* HEAVY HEART EXCLAMATION MARK ORNAMENT */
  {0x2764 , ON }, /* HEAVY BLACK HEART */
  {0x2765 , ON }, /* ROTATED HEAVY BLACK HEART BULLET */
  {0x2766 , ON }, /* FLORAL HEART */
  {0x2767 , ON }, /* ROTATED FLORAL HEART BULLET */
  {0x2768 , ON }, /* MEDIUM LEFT PARENTHESIS ORNAMENT */
  {0x2769 , ON }, /* MEDIUM RIGHT PARENTHESIS ORNAMENT */
  {0x276A , ON }, /* MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT */
  {0x276B , ON }, /* MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT */
  {0x276C , ON }, /* MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT */
  {0x276D , ON }, /* MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT */
  {0x276E , ON }, /* HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT */
  {0x276F , ON }, /* HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT */
  {0x2770 , ON }, /* HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT */
  {0x2771 , ON }, /* HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT */
  {0x2772 , ON }, /* LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT */
  {0x2773 , ON }, /* LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT */
  {0x2774 , ON }, /* MEDIUM LEFT CURLY BRACKET ORNAMENT */
  {0x2775 , ON }, /* MEDIUM RIGHT CURLY BRACKET ORNAMENT */
  {0x2776 , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT ONE */
  {0x2777 , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT TWO */
  {0x2778 , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT THREE */
  {0x2779 , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT FOUR */
  {0x277A , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT FIVE */
  {0x277B , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT SIX */
  {0x277C , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT SEVEN */
  {0x277D , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT EIGHT */
  {0x277E , ON }, /* DINGBAT NEGATIVE CIRCLED DIGIT NINE */
  {0x277F , ON }, /* DINGBAT NEGATIVE CIRCLED NUMBER TEN */
  {0x2780 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT ONE */
  {0x2781 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT TWO */
  {0x2782 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT THREE */
  {0x2783 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT FOUR */
  {0x2784 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT FIVE */
  {0x2785 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT SIX */
  {0x2786 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN */
  {0x2787 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT */
  {0x2788 , ON }, /* DINGBAT CIRCLED SANS-SERIF DIGIT NINE */
  {0x2789 , ON }, /* DINGBAT CIRCLED SANS-SERIF NUMBER TEN */
  {0x278A , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE */
  {0x278B , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO */
  {0x278C , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE */
  {0x278D , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR */
  {0x278E , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE */
  {0x278F , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX */
  {0x2790 , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN */
  {0x2791 , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT */
  {0x2792 , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE */
  {0x2793 , ON }, /* DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN */
  {0x2794 , ON }, /* HEAVY WIDE-HEADED RIGHTWARDS ARROW */
  {0x2798 , ON }, /* HEAVY SOUTH EAST ARROW */
  {0x2799 , ON }, /* HEAVY RIGHTWARDS ARROW */
  {0x279A , ON }, /* HEAVY NORTH EAST ARROW */
  {0x279B , ON }, /* DRAFTING POINT RIGHTWARDS ARROW */
  {0x279C , ON }, /* HEAVY ROUND-TIPPED RIGHTWARDS ARROW */
  {0x279D , ON }, /* TRIANGLE-HEADED RIGHTWARDS ARROW */
  {0x279E , ON }, /* HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW */
  {0x279F , ON }, /* DASHED TRIANGLE-HEADED RIGHTWARDS ARROW */
  {0x27A0 , ON }, /* HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW */
  {0x27A1 , ON }, /* BLACK RIGHTWARDS ARROW */
  {0x27A2 , ON }, /* THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD */
  {0x27A3 , ON }, /* THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD */
  {0x27A4 , ON }, /* BLACK RIGHTWARDS ARROWHEAD */
  {0x27A5 , ON }, /* HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW */
  {0x27A6 , ON }, /* HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW */
  {0x27A7 , ON }, /* SQUAT BLACK RIGHTWARDS ARROW */
  {0x27A8 , ON }, /* HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW */
  {0x27A9 , ON }, /* RIGHT-SHADED WHITE RIGHTWARDS ARROW */
  {0x27AA , ON }, /* LEFT-SHADED WHITE RIGHTWARDS ARROW */
  {0x27AB , ON }, /* BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW */
  {0x27AC , ON }, /* FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW */
  {0x27AD , ON }, /* HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */
  {0x27AE , ON }, /* HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */
  {0x27AF , ON }, /* NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */
  {0x27B1 , ON }, /* NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW */
  {0x27B2 , ON }, /* CIRCLED HEAVY WHITE RIGHTWARDS ARROW */
  {0x27B3 , ON }, /* WHITE-FEATHERED RIGHTWARDS ARROW */
  {0x27B4 , ON }, /* BLACK-FEATHERED SOUTH EAST ARROW */
  {0x27B5 , ON }, /* BLACK-FEATHERED RIGHTWARDS ARROW */
  {0x27B6 , ON }, /* BLACK-FEATHERED NORTH EAST ARROW */
  {0x27B7 , ON }, /* HEAVY BLACK-FEATHERED SOUTH EAST ARROW */
  {0x27B8 , ON }, /* HEAVY BLACK-FEATHERED RIGHTWARDS ARROW */
  {0x27B9 , ON }, /* HEAVY BLACK-FEATHERED NORTH EAST ARROW */
  {0x27BA , ON }, /* TEARDROP-BARBED RIGHTWARDS ARROW */
  {0x27BB , ON }, /* HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW */
  {0x27BC , ON }, /* WEDGE-TAILED RIGHTWARDS ARROW */
  {0x27BD , ON }, /* HEAVY WEDGE-TAILED RIGHTWARDS ARROW */
  {0x27BE , ON }, /* OPEN-OUTLINED RIGHTWARDS ARROW */
  {0x27C0 , ON }, /* THREE DIMENSIONAL ANGLE */
  {0x27C1 , ON }, /* WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE */
  {0x27C2 , ON }, /* PERPENDICULAR */
  {0x27C3 , ON }, /* OPEN SUBSET */
  {0x27C4 , ON }, /* OPEN SUPERSET */
  {0x27C5 , ON }, /* LEFT S-SHAPED BAG DELIMITER */
  {0x27C6 , ON }, /* RIGHT S-SHAPED BAG DELIMITER */
  {0x27D0 , ON }, /* WHITE DIAMOND WITH CENTRED DOT */
  {0x27D1 , ON }, /* AND WITH DOT */
  {0x27D2 , ON }, /* ELEMENT OF OPENING UPWARDS */
  {0x27D3 , ON }, /* LOWER RIGHT CORNER WITH DOT */
  {0x27D4 , ON }, /* UPPER LEFT CORNER WITH DOT */
  {0x27D5 , ON }, /* LEFT OUTER JOIN */
  {0x27D6 , ON }, /* RIGHT OUTER JOIN */
  {0x27D7 , ON }, /* FULL OUTER JOIN */
  {0x27D8 , ON }, /* LARGE UP TACK */
  {0x27D9 , ON }, /* LARGE DOWN TACK */
  {0x27DA , ON }, /* LEFT AND RIGHT DOUBLE TURNSTILE */
  {0x27DB , ON }, /* LEFT AND RIGHT TACK */
  {0x27DC , ON }, /* LEFT MULTIMAP */
  {0x27DD , ON }, /* LONG RIGHT TACK */
  {0x27DE , ON }, /* LONG LEFT TACK */
  {0x27DF , ON }, /* UP TACK WITH CIRCLE ABOVE */
  {0x27E0 , ON }, /* LOZENGE DIVIDED BY HORIZONTAL RULE */
  {0x27E1 , ON }, /* WHITE CONCAVE-SIDED DIAMOND */
  {0x27E2 , ON }, /* WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK */
  {0x27E3 , ON }, /* WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK */
  {0x27E4 , ON }, /* WHITE SQUARE WITH LEFTWARDS TICK */
  {0x27E5 , ON }, /* WHITE SQUARE WITH RIGHTWARDS TICK */
  {0x27E6 , ON }, /* MATHEMATICAL LEFT WHITE SQUARE BRACKET */
  {0x27E7 , ON }, /* MATHEMATICAL RIGHT WHITE SQUARE BRACKET */
  {0x27E8 , ON }, /* MATHEMATICAL LEFT ANGLE BRACKET */
  {0x27E9 , ON }, /* MATHEMATICAL RIGHT ANGLE BRACKET */
  {0x27EA , ON }, /* MATHEMATICAL LEFT DOUBLE ANGLE BRACKET */
  {0x27EB , ON }, /* MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET */
  {0x27F0 , ON }, /* UPWARDS QUADRUPLE ARROW */
  {0x27F1 , ON }, /* DOWNWARDS QUADRUPLE ARROW */
  {0x27F2 , ON }, /* ANTICLOCKWISE GAPPED CIRCLE ARROW */
  {0x27F3 , ON }, /* CLOCKWISE GAPPED CIRCLE ARROW */
  {0x27F4 , ON }, /* RIGHT ARROW WITH CIRCLED PLUS */
  {0x27F5 , ON }, /* LONG LEFTWARDS ARROW */
  {0x27F6 , ON }, /* LONG RIGHTWARDS ARROW */
  {0x27F7 , ON }, /* LONG LEFT RIGHT ARROW */
  {0x27F8 , ON }, /* LONG LEFTWARDS DOUBLE ARROW */
  {0x27F9 , ON }, /* LONG RIGHTWARDS DOUBLE ARROW */
  {0x27FA , ON }, /* LONG LEFT RIGHT DOUBLE ARROW */
  {0x27FB , ON }, /* LONG LEFTWARDS ARROW FROM BAR */
  {0x27FC , ON }, /* LONG RIGHTWARDS ARROW FROM BAR */
  {0x27FD , ON }, /* LONG LEFTWARDS DOUBLE ARROW FROM BAR */
  {0x27FE , ON }, /* LONG RIGHTWARDS DOUBLE ARROW FROM BAR */
  {0x27FF , ON }, /* LONG RIGHTWARDS SQUIGGLE ARROW */
  {0x2800 , L  }, /* BRAILLE PATTERN BLANK */
  {0x2801 , L  }, /* BRAILLE PATTERN DOTS-1 */
  {0x2802 , L  }, /* BRAILLE PATTERN DOTS-2 */
  {0x2803 , L  }, /* BRAILLE PATTERN DOTS-12 */
  {0x2804 , L  }, /* BRAILLE PATTERN DOTS-3 */
  {0x2805 , L  }, /* BRAILLE PATTERN DOTS-13 */
  {0x2806 , L  }, /* BRAILLE PATTERN DOTS-23 */
  {0x2807 , L  }, /* BRAILLE PATTERN DOTS-123 */
  {0x2808 , L  }, /* BRAILLE PATTERN DOTS-4 */
  {0x2809 , L  }, /* BRAILLE PATTERN DOTS-14 */
  {0x280A , L  }, /* BRAILLE PATTERN DOTS-24 */
  {0x280B , L  }, /* BRAILLE PATTERN DOTS-124 */
  {0x280C , L  }, /* BRAILLE PATTERN DOTS-34 */
  {0x280D , L  }, /* BRAILLE PATTERN DOTS-134 */
  {0x280E , L  }, /* BRAILLE PATTERN DOTS-234 */
  {0x280F , L  }, /* BRAILLE PATTERN DOTS-1234 */
  {0x2810 , L  }, /* BRAILLE PATTERN DOTS-5 */
  {0x2811 , L  }, /* BRAILLE PATTERN DOTS-15 */
  {0x2812 , L  }, /* BRAILLE PATTERN DOTS-25 */
  {0x2813 , L  }, /* BRAILLE PATTERN DOTS-125 */
  {0x2814 , L  }, /* BRAILLE PATTERN DOTS-35 */
  {0x2815 , L  }, /* BRAILLE PATTERN DOTS-135 */
  {0x2816 , L  }, /* BRAILLE PATTERN DOTS-235 */
  {0x2817 , L  }, /* BRAILLE PATTERN DOTS-1235 */
  {0x2818 , L  }, /* BRAILLE PATTERN DOTS-45 */
  {0x2819 , L  }, /* BRAILLE PATTERN DOTS-145 */
  {0x281A , L  }, /* BRAILLE PATTERN DOTS-245 */
  {0x281B , L  }, /* BRAILLE PATTERN DOTS-1245 */
  {0x281C , L  }, /* BRAILLE PATTERN DOTS-345 */
  {0x281D , L  }, /* BRAILLE PATTERN DOTS-1345 */
  {0x281E , L  }, /* BRAILLE PATTERN DOTS-2345 */
  {0x281F , L  }, /* BRAILLE PATTERN DOTS-12345 */
  {0x2820 , L  }, /* BRAILLE PATTERN DOTS-6 */
  {0x2821 , L  }, /* BRAILLE PATTERN DOTS-16 */
  {0x2822 , L  }, /* BRAILLE PATTERN DOTS-26 */
  {0x2823 , L  }, /* BRAILLE PATTERN DOTS-126 */
  {0x2824 , L  }, /* BRAILLE PATTERN DOTS-36 */
  {0x2825 , L  }, /* BRAILLE PATTERN DOTS-136 */
  {0x2826 , L  }, /* BRAILLE PATTERN DOTS-236 */
  {0x2827 , L  }, /* BRAILLE PATTERN DOTS-1236 */
  {0x2828 , L  }, /* BRAILLE PATTERN DOTS-46 */
  {0x2829 , L  }, /* BRAILLE PATTERN DOTS-146 */
  {0x282A , L  }, /* BRAILLE PATTERN DOTS-246 */
  {0x282B , L  }, /* BRAILLE PATTERN DOTS-1246 */
  {0x282C , L  }, /* BRAILLE PATTERN DOTS-346 */
  {0x282D , L  }, /* BRAILLE PATTERN DOTS-1346 */
  {0x282E , L  }, /* BRAILLE PATTERN DOTS-2346 */
  {0x282F , L  }, /* BRAILLE PATTERN DOTS-12346 */
  {0x2830 , L  }, /* BRAILLE PATTERN DOTS-56 */
  {0x2831 , L  }, /* BRAILLE PATTERN DOTS-156 */
  {0x2832 , L  }, /* BRAILLE PATTERN DOTS-256 */
  {0x2833 , L  }, /* BRAILLE PATTERN DOTS-1256 */
  {0x2834 , L  }, /* BRAILLE PATTERN DOTS-356 */
  {0x2835 , L  }, /* BRAILLE PATTERN DOTS-1356 */
  {0x2836 , L  }, /* BRAILLE PATTERN DOTS-2356 */
  {0x2837 , L  }, /* BRAILLE PATTERN DOTS-12356 */
  {0x2838 , L  }, /* BRAILLE PATTERN DOTS-456 */
  {0x2839 , L  }, /* BRAILLE PATTERN DOTS-1456 */
  {0x283A , L  }, /* BRAILLE PATTERN DOTS-2456 */
  {0x283B , L  }, /* BRAILLE PATTERN DOTS-12456 */
  {0x283C , L  }, /* BRAILLE PATTERN DOTS-3456 */
  {0x283D , L  }, /* BRAILLE PATTERN DOTS-13456 */
  {0x283E , L  }, /* BRAILLE PATTERN DOTS-23456 */
  {0x283F , L  }, /* BRAILLE PATTERN DOTS-123456 */
  {0x2840 , L  }, /* BRAILLE PATTERN DOTS-7 */
  {0x2841 , L  }, /* BRAILLE PATTERN DOTS-17 */
  {0x2842 , L  }, /* BRAILLE PATTERN DOTS-27 */
  {0x2843 , L  }, /* BRAILLE PATTERN DOTS-127 */
  {0x2844 , L  }, /* BRAILLE PATTERN DOTS-37 */
  {0x2845 , L  }, /* BRAILLE PATTERN DOTS-137 */
  {0x2846 , L  }, /* BRAILLE PATTERN DOTS-237 */
  {0x2847 , L  }, /* BRAILLE PATTERN DOTS-1237 */
  {0x2848 , L  }, /* BRAILLE PATTERN DOTS-47 */
  {0x2849 , L  }, /* BRAILLE PATTERN DOTS-147 */
  {0x284A , L  }, /* BRAILLE PATTERN DOTS-247 */
  {0x284B , L  }, /* BRAILLE PATTERN DOTS-1247 */
  {0x284C , L  }, /* BRAILLE PATTERN DOTS-347 */
  {0x284D , L  }, /* BRAILLE PATTERN DOTS-1347 */
  {0x284E , L  }, /* BRAILLE PATTERN DOTS-2347 */
  {0x284F , L  }, /* BRAILLE PATTERN DOTS-12347 */
  {0x2850 , L  }, /* BRAILLE PATTERN DOTS-57 */
  {0x2851 , L  }, /* BRAILLE PATTERN DOTS-157 */
  {0x2852 , L  }, /* BRAILLE PATTERN DOTS-257 */
  {0x2853 , L  }, /* BRAILLE PATTERN DOTS-1257 */
  {0x2854 , L  }, /* BRAILLE PATTERN DOTS-357 */
  {0x2855 , L  }, /* BRAILLE PATTERN DOTS-1357 */
  {0x2856 , L  }, /* BRAILLE PATTERN DOTS-2357 */
  {0x2857 , L  }, /* BRAILLE PATTERN DOTS-12357 */
  {0x2858 , L  }, /* BRAILLE PATTERN DOTS-457 */
  {0x2859 , L  }, /* BRAILLE PATTERN DOTS-1457 */
  {0x285A , L  }, /* BRAILLE PATTERN DOTS-2457 */
  {0x285B , L  }, /* BRAILLE PATTERN DOTS-12457 */
  {0x285C , L  }, /* BRAILLE PATTERN DOTS-3457 */
  {0x285D , L  }, /* BRAILLE PATTERN DOTS-13457 */
  {0x285E , L  }, /* BRAILLE PATTERN DOTS-23457 */
  {0x285F , L  }, /* BRAILLE PATTERN DOTS-123457 */
  {0x2860 , L  }, /* BRAILLE PATTERN DOTS-67 */
  {0x2861 , L  }, /* BRAILLE PATTERN DOTS-167 */
  {0x2862 , L  }, /* BRAILLE PATTERN DOTS-267 */
  {0x2863 , L  }, /* BRAILLE PATTERN DOTS-1267 */
  {0x2864 , L  }, /* BRAILLE PATTERN DOTS-367 */
  {0x2865 , L  }, /* BRAILLE PATTERN DOTS-1367 */
  {0x2866 , L  }, /* BRAILLE PATTERN DOTS-2367 */
  {0x2867 , L  }, /* BRAILLE PATTERN DOTS-12367 */
  {0x2868 , L  }, /* BRAILLE PATTERN DOTS-467 */
  {0x2869 , L  }, /* BRAILLE PATTERN DOTS-1467 */
  {0x286A , L  }, /* BRAILLE PATTERN DOTS-2467 */
  {0x286B , L  }, /* BRAILLE PATTERN DOTS-12467 */
  {0x286C , L  }, /* BRAILLE PATTERN DOTS-3467 */
  {0x286D , L  }, /* BRAILLE PATTERN DOTS-13467 */
  {0x286E , L  }, /* BRAILLE PATTERN DOTS-23467 */
  {0x286F , L  }, /* BRAILLE PATTERN DOTS-123467 */
  {0x2870 , L  }, /* BRAILLE PATTERN DOTS-567 */
  {0x2871 , L  }, /* BRAILLE PATTERN DOTS-1567 */
  {0x2872 , L  }, /* BRAILLE PATTERN DOTS-2567 */
  {0x2873 , L  }, /* BRAILLE PATTERN DOTS-12567 */
  {0x2874 , L  }, /* BRAILLE PATTERN DOTS-3567 */
  {0x2875 , L  }, /* BRAILLE PATTERN DOTS-13567 */
  {0x2876 , L  }, /* BRAILLE PATTERN DOTS-23567 */
  {0x2877 , L  }, /* BRAILLE PATTERN DOTS-123567 */
  {0x2878 , L  }, /* BRAILLE PATTERN DOTS-4567 */
  {0x2879 , L  }, /* BRAILLE PATTERN DOTS-14567 */
  {0x287A , L  }, /* BRAILLE PATTERN DOTS-24567 */
  {0x287B , L  }, /* BRAILLE PATTERN DOTS-124567 */
  {0x287C , L  }, /* BRAILLE PATTERN DOTS-34567 */
  {0x287D , L  }, /* BRAILLE PATTERN DOTS-134567 */
  {0x287E , L  }, /* BRAILLE PATTERN DOTS-234567 */
  {0x287F , L  }, /* BRAILLE PATTERN DOTS-1234567 */
  {0x2880 , L  }, /* BRAILLE PATTERN DOTS-8 */
  {0x2881 , L  }, /* BRAILLE PATTERN DOTS-18 */
  {0x2882 , L  }, /* BRAILLE PATTERN DOTS-28 */
  {0x2883 , L  }, /* BRAILLE PATTERN DOTS-128 */
  {0x2884 , L  }, /* BRAILLE PATTERN DOTS-38 */
  {0x2885 , L  }, /* BRAILLE PATTERN DOTS-138 */
  {0x2886 , L  }, /* BRAILLE PATTERN DOTS-238 */
  {0x2887 , L  }, /* BRAILLE PATTERN DOTS-1238 */
  {0x2888 , L  }, /* BRAILLE PATTERN DOTS-48 */
  {0x2889 , L  }, /* BRAILLE PATTERN DOTS-148 */
  {0x288A , L  }, /* BRAILLE PATTERN DOTS-248 */
  {0x288B , L  }, /* BRAILLE PATTERN DOTS-1248 */
  {0x288C , L  }, /* BRAILLE PATTERN DOTS-348 */
  {0x288D , L  }, /* BRAILLE PATTERN DOTS-1348 */
  {0x288E , L  }, /* BRAILLE PATTERN DOTS-2348 */
  {0x288F , L  }, /* BRAILLE PATTERN DOTS-12348 */
  {0x2890 , L  }, /* BRAILLE PATTERN DOTS-58 */
  {0x2891 , L  }, /* BRAILLE PATTERN DOTS-158 */
  {0x2892 , L  }, /* BRAILLE PATTERN DOTS-258 */
  {0x2893 , L  }, /* BRAILLE PATTERN DOTS-1258 */
  {0x2894 , L  }, /* BRAILLE PATTERN DOTS-358 */
  {0x2895 , L  }, /* BRAILLE PATTERN DOTS-1358 */
  {0x2896 , L  }, /* BRAILLE PATTERN DOTS-2358 */
  {0x2897 , L  }, /* BRAILLE PATTERN DOTS-12358 */
  {0x2898 , L  }, /* BRAILLE PATTERN DOTS-458 */
  {0x2899 , L  }, /* BRAILLE PATTERN DOTS-1458 */
  {0x289A , L  }, /* BRAILLE PATTERN DOTS-2458 */
  {0x289B , L  }, /* BRAILLE PATTERN DOTS-12458 */
  {0x289C , L  }, /* BRAILLE PATTERN DOTS-3458 */
  {0x289D , L  }, /* BRAILLE PATTERN DOTS-13458 */
  {0x289E , L  }, /* BRAILLE PATTERN DOTS-23458 */
  {0x289F , L  }, /* BRAILLE PATTERN DOTS-123458 */
  {0x28A0 , L  }, /* BRAILLE PATTERN DOTS-68 */
  {0x28A1 , L  }, /* BRAILLE PATTERN DOTS-168 */
  {0x28A2 , L  }, /* BRAILLE PATTERN DOTS-268 */
  {0x28A3 , L  }, /* BRAILLE PATTERN DOTS-1268 */
  {0x28A4 , L  }, /* BRAILLE PATTERN DOTS-368 */
  {0x28A5 , L  }, /* BRAILLE PATTERN DOTS-1368 */
  {0x28A6 , L  }, /* BRAILLE PATTERN DOTS-2368 */
  {0x28A7 , L  }, /* BRAILLE PATTERN DOTS-12368 */
  {0x28A8 , L  }, /* BRAILLE PATTERN DOTS-468 */
  {0x28A9 , L  }, /* BRAILLE PATTERN DOTS-1468 */
  {0x28AA , L  }, /* BRAILLE PATTERN DOTS-2468 */
  {0x28AB , L  }, /* BRAILLE PATTERN DOTS-12468 */
  {0x28AC , L  }, /* BRAILLE PATTERN DOTS-3468 */
  {0x28AD , L  }, /* BRAILLE PATTERN DOTS-13468 */
  {0x28AE , L  }, /* BRAILLE PATTERN DOTS-23468 */
  {0x28AF , L  }, /* BRAILLE PATTERN DOTS-123468 */
  {0x28B0 , L  }, /* BRAILLE PATTERN DOTS-568 */
  {0x28B1 , L  }, /* BRAILLE PATTERN DOTS-1568 */
  {0x28B2 , L  }, /* BRAILLE PATTERN DOTS-2568 */
  {0x28B3 , L  }, /* BRAILLE PATTERN DOTS-12568 */
  {0x28B4 , L  }, /* BRAILLE PATTERN DOTS-3568 */
  {0x28B5 , L  }, /* BRAILLE PATTERN DOTS-13568 */
  {0x28B6 , L  }, /* BRAILLE PATTERN DOTS-23568 */
  {0x28B7 , L  }, /* BRAILLE PATTERN DOTS-123568 */
  {0x28B8 , L  }, /* BRAILLE PATTERN DOTS-4568 */
  {0x28B9 , L  }, /* BRAILLE PATTERN DOTS-14568 */
  {0x28BA , L  }, /* BRAILLE PATTERN DOTS-24568 */
  {0x28BB , L  }, /* BRAILLE PATTERN DOTS-124568 */
  {0x28BC , L  }, /* BRAILLE PATTERN DOTS-34568 */
  {0x28BD , L  }, /* BRAILLE PATTERN DOTS-134568 */
  {0x28BE , L  }, /* BRAILLE PATTERN DOTS-234568 */
  {0x28BF , L  }, /* BRAILLE PATTERN DOTS-1234568 */
  {0x28C0 , L  }, /* BRAILLE PATTERN DOTS-78 */
  {0x28C1 , L  }, /* BRAILLE PATTERN DOTS-178 */
  {0x28C2 , L  }, /* BRAILLE PATTERN DOTS-278 */
  {0x28C3 , L  }, /* BRAILLE PATTERN DOTS-1278 */
  {0x28C4 , L  }, /* BRAILLE PATTERN DOTS-378 */
  {0x28C5 , L  }, /* BRAILLE PATTERN DOTS-1378 */
  {0x28C6 , L  }, /* BRAILLE PATTERN DOTS-2378 */
  {0x28C7 , L  }, /* BRAILLE PATTERN DOTS-12378 */
  {0x28C8 , L  }, /* BRAILLE PATTERN DOTS-478 */
  {0x28C9 , L  }, /* BRAILLE PATTERN DOTS-1478 */
  {0x28CA , L  }, /* BRAILLE PATTERN DOTS-2478 */
  {0x28CB , L  }, /* BRAILLE PATTERN DOTS-12478 */
  {0x28CC , L  }, /* BRAILLE PATTERN DOTS-3478 */
  {0x28CD , L  }, /* BRAILLE PATTERN DOTS-13478 */
  {0x28CE , L  }, /* BRAILLE PATTERN DOTS-23478 */
  {0x28CF , L  }, /* BRAILLE PATTERN DOTS-123478 */
  {0x28D0 , L  }, /* BRAILLE PATTERN DOTS-578 */
  {0x28D1 , L  }, /* BRAILLE PATTERN DOTS-1578 */
  {0x28D2 , L  }, /* BRAILLE PATTERN DOTS-2578 */
  {0x28D3 , L  }, /* BRAILLE PATTERN DOTS-12578 */
  {0x28D4 , L  }, /* BRAILLE PATTERN DOTS-3578 */
  {0x28D5 , L  }, /* BRAILLE PATTERN DOTS-13578 */
  {0x28D6 , L  }, /* BRAILLE PATTERN DOTS-23578 */
  {0x28D7 , L  }, /* BRAILLE PATTERN DOTS-123578 */
  {0x28D8 , L  }, /* BRAILLE PATTERN DOTS-4578 */
  {0x28D9 , L  }, /* BRAILLE PATTERN DOTS-14578 */
  {0x28DA , L  }, /* BRAILLE PATTERN DOTS-24578 */
  {0x28DB , L  }, /* BRAILLE PATTERN DOTS-124578 */
  {0x28DC , L  }, /* BRAILLE PATTERN DOTS-34578 */
  {0x28DD , L  }, /* BRAILLE PATTERN DOTS-134578 */
  {0x28DE , L  }, /* BRAILLE PATTERN DOTS-234578 */
  {0x28DF , L  }, /* BRAILLE PATTERN DOTS-1234578 */
  {0x28E0 , L  }, /* BRAILLE PATTERN DOTS-678 */
  {0x28E1 , L  }, /* BRAILLE PATTERN DOTS-1678 */
  {0x28E2 , L  }, /* BRAILLE PATTERN DOTS-2678 */
  {0x28E3 , L  }, /* BRAILLE PATTERN DOTS-12678 */
  {0x28E4 , L  }, /* BRAILLE PATTERN DOTS-3678 */
  {0x28E5 , L  }, /* BRAILLE PATTERN DOTS-13678 */
  {0x28E6 , L  }, /* BRAILLE PATTERN DOTS-23678 */
  {0x28E7 , L  }, /* BRAILLE PATTERN DOTS-123678 */
  {0x28E8 , L  }, /* BRAILLE PATTERN DOTS-4678 */
  {0x28E9 , L  }, /* BRAILLE PATTERN DOTS-14678 */
  {0x28EA , L  }, /* BRAILLE PATTERN DOTS-24678 */
  {0x28EB , L  }, /* BRAILLE PATTERN DOTS-124678 */
  {0x28EC , L  }, /* BRAILLE PATTERN DOTS-34678 */
  {0x28ED , L  }, /* BRAILLE PATTERN DOTS-134678 */
  {0x28EE , L  }, /* BRAILLE PATTERN DOTS-234678 */
  {0x28EF , L  }, /* BRAILLE PATTERN DOTS-1234678 */
  {0x28F0 , L  }, /* BRAILLE PATTERN DOTS-5678 */
  {0x28F1 , L  }, /* BRAILLE PATTERN DOTS-15678 */
  {0x28F2 , L  }, /* BRAILLE PATTERN DOTS-25678 */
  {0x28F3 , L  }, /* BRAILLE PATTERN DOTS-125678 */
  {0x28F4 , L  }, /* BRAILLE PATTERN DOTS-35678 */
  {0x28F5 , L  }, /* BRAILLE PATTERN DOTS-135678 */
  {0x28F6 , L  }, /* BRAILLE PATTERN DOTS-235678 */
  {0x28F7 , L  }, /* BRAILLE PATTERN DOTS-1235678 */
  {0x28F8 , L  }, /* BRAILLE PATTERN DOTS-45678 */
  {0x28F9 , L  }, /* BRAILLE PATTERN DOTS-145678 */
  {0x28FA , L  }, /* BRAILLE PATTERN DOTS-245678 */
  {0x28FB , L  }, /* BRAILLE PATTERN DOTS-1245678 */
  {0x28FC , L  }, /* BRAILLE PATTERN DOTS-345678 */
  {0x28FD , L  }, /* BRAILLE PATTERN DOTS-1345678 */
  {0x28FE , L  }, /* BRAILLE PATTERN DOTS-2345678 */
  {0x28FF , L  }, /* BRAILLE PATTERN DOTS-12345678 */
  {0x2900 , ON }, /* RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE */
  {0x2901 , ON }, /* RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE */
  {0x2902 , ON }, /* LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE */
  {0x2903 , ON }, /* RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE */
  {0x2904 , ON }, /* LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE */
  {0x2905 , ON }, /* RIGHTWARDS TWO-HEADED ARROW FROM BAR */
  {0x2906 , ON }, /* LEFTWARDS DOUBLE ARROW FROM BAR */
  {0x2907 , ON }, /* RIGHTWARDS DOUBLE ARROW FROM BAR */
  {0x2908 , ON }, /* DOWNWARDS ARROW WITH HORIZONTAL STROKE */
  {0x2909 , ON }, /* UPWARDS ARROW WITH HORIZONTAL STROKE */
  {0x290A , ON }, /* UPWARDS TRIPLE ARROW */
  {0x290B , ON }, /* DOWNWARDS TRIPLE ARROW */
  {0x290C , ON }, /* LEFTWARDS DOUBLE DASH ARROW */
  {0x290D , ON }, /* RIGHTWARDS DOUBLE DASH ARROW */
  {0x290E , ON }, /* LEFTWARDS TRIPLE DASH ARROW */
  {0x290F , ON }, /* RIGHTWARDS TRIPLE DASH ARROW */
  {0x2910 , ON }, /* RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW */
  {0x2911 , ON }, /* RIGHTWARDS ARROW WITH DOTTED STEM */
  {0x2912 , ON }, /* UPWARDS ARROW TO BAR */
  {0x2913 , ON }, /* DOWNWARDS ARROW TO BAR */
  {0x2914 , ON }, /* RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE */
  {0x2915 , ON }, /* RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE */
  {0x2916 , ON }, /* RIGHTWARDS TWO-HEADED ARROW WITH TAIL */
  {0x2917 , ON }, /* RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE */
  {0x2918 , ON }, /* RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE */
  {0x2919 , ON }, /* LEFTWARDS ARROW-TAIL */
  {0x291A , ON }, /* RIGHTWARDS ARROW-TAIL */
  {0x291B , ON }, /* LEFTWARDS DOUBLE ARROW-TAIL */
  {0x291C , ON }, /* RIGHTWARDS DOUBLE ARROW-TAIL */
  {0x291D , ON }, /* LEFTWARDS ARROW TO BLACK DIAMOND */
  {0x291E , ON }, /* RIGHTWARDS ARROW TO BLACK DIAMOND */
  {0x291F , ON }, /* LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND */
  {0x2920 , ON }, /* RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND */
  {0x2921 , ON }, /* NORTH WEST AND SOUTH EAST ARROW */
  {0x2922 , ON }, /* NORTH EAST AND SOUTH WEST ARROW */
  {0x2923 , ON }, /* NORTH WEST ARROW WITH HOOK */
  {0x2924 , ON }, /* NORTH EAST ARROW WITH HOOK */
  {0x2925 , ON }, /* SOUTH EAST ARROW WITH HOOK */
  {0x2926 , ON }, /* SOUTH WEST ARROW WITH HOOK */
  {0x2927 , ON }, /* NORTH WEST ARROW AND NORTH EAST ARROW */
  {0x2928 , ON }, /* NORTH EAST ARROW AND SOUTH EAST ARROW */
  {0x2929 , ON }, /* SOUTH EAST ARROW AND SOUTH WEST ARROW */
  {0x292A , ON }, /* SOUTH WEST ARROW AND NORTH WEST ARROW */
  {0x292B , ON }, /* RISING DIAGONAL CROSSING FALLING DIAGONAL */
  {0x292C , ON }, /* FALLING DIAGONAL CROSSING RISING DIAGONAL */
  {0x292D , ON }, /* SOUTH EAST ARROW CROSSING NORTH EAST ARROW */
  {0x292E , ON }, /* NORTH EAST ARROW CROSSING SOUTH EAST ARROW */
  {0x292F , ON }, /* FALLING DIAGONAL CROSSING NORTH EAST ARROW */
  {0x2930 , ON }, /* RISING DIAGONAL CROSSING SOUTH EAST ARROW */
  {0x2931 , ON }, /* NORTH EAST ARROW CROSSING NORTH WEST ARROW */
  {0x2932 , ON }, /* NORTH WEST ARROW CROSSING NORTH EAST ARROW */
  {0x2933 , ON }, /* WAVE ARROW POINTING DIRECTLY RIGHT */
  {0x2934 , ON }, /* ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS */
  {0x2935 , ON }, /* ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS */
  {0x2936 , ON }, /* ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS */
  {0x2937 , ON }, /* ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS */
  {0x2938 , ON }, /* RIGHT-SIDE ARC CLOCKWISE ARROW */
  {0x2939 , ON }, /* LEFT-SIDE ARC ANTICLOCKWISE ARROW */
  {0x293A , ON }, /* TOP ARC ANTICLOCKWISE ARROW */
  {0x293B , ON }, /* BOTTOM ARC ANTICLOCKWISE ARROW */
  {0x293C , ON }, /* TOP ARC CLOCKWISE ARROW WITH MINUS */
  {0x293D , ON }, /* TOP ARC ANTICLOCKWISE ARROW WITH PLUS */
  {0x293E , ON }, /* LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW */
  {0x293F , ON }, /* LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW */
  {0x2940 , ON }, /* ANTICLOCKWISE CLOSED CIRCLE ARROW */
  {0x2941 , ON }, /* CLOCKWISE CLOSED CIRCLE ARROW */
  {0x2942 , ON }, /* RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW */
  {0x2943 , ON }, /* LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW */
  {0x2944 , ON }, /* SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW */
  {0x2945 , ON }, /* RIGHTWARDS ARROW WITH PLUS BELOW */
  {0x2946 , ON }, /* LEFTWARDS ARROW WITH PLUS BELOW */
  {0x2947 , ON }, /* RIGHTWARDS ARROW THROUGH X */
  {0x2948 , ON }, /* LEFT RIGHT ARROW THROUGH SMALL CIRCLE */
  {0x2949 , ON }, /* UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE */
  {0x294A , ON }, /* LEFT BARB UP RIGHT BARB DOWN HARPOON */
  {0x294B , ON }, /* LEFT BARB DOWN RIGHT BARB UP HARPOON */
  {0x294C , ON }, /* UP BARB RIGHT DOWN BARB LEFT HARPOON */
  {0x294D , ON }, /* UP BARB LEFT DOWN BARB RIGHT HARPOON */
  {0x294E , ON }, /* LEFT BARB UP RIGHT BARB UP HARPOON */
  {0x294F , ON }, /* UP BARB RIGHT DOWN BARB RIGHT HARPOON */
  {0x2950 , ON }, /* LEFT BARB DOWN RIGHT BARB DOWN HARPOON */
  {0x2951 , ON }, /* UP BARB LEFT DOWN BARB LEFT HARPOON */
  {0x2952 , ON }, /* LEFTWARDS HARPOON WITH BARB UP TO BAR */
  {0x2953 , ON }, /* RIGHTWARDS HARPOON WITH BARB UP TO BAR */
  {0x2954 , ON }, /* UPWARDS HARPOON WITH BARB RIGHT TO BAR */
  {0x2955 , ON }, /* DOWNWARDS HARPOON WITH BARB RIGHT TO BAR */
  {0x2956 , ON }, /* LEFTWARDS HARPOON WITH BARB DOWN TO BAR */
  {0x2957 , ON }, /* RIGHTWARDS HARPOON WITH BARB DOWN TO BAR */
  {0x2958 , ON }, /* UPWARDS HARPOON WITH BARB LEFT TO BAR */
  {0x2959 , ON }, /* DOWNWARDS HARPOON WITH BARB LEFT TO BAR */
  {0x295A , ON }, /* LEFTWARDS HARPOON WITH BARB UP FROM BAR */
  {0x295B , ON }, /* RIGHTWARDS HARPOON WITH BARB UP FROM BAR */
  {0x295C , ON }, /* UPWARDS HARPOON WITH BARB RIGHT FROM BAR */
  {0x295D , ON }, /* DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR */
  {0x295E , ON }, /* LEFTWARDS HARPOON WITH BARB DOWN FROM BAR */
  {0x295F , ON }, /* RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR */
  {0x2960 , ON }, /* UPWARDS HARPOON WITH BARB LEFT FROM BAR */
  {0x2961 , ON }, /* DOWNWARDS HARPOON WITH BARB LEFT FROM BAR */
  {0x2962 , ON }, /* LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN */
  {0x2963 , ON }, /* UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT */
  {0x2964 , ON }, /* RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN */
  {0x2965 , ON }, /* DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT */
  {0x2966 , ON }, /* LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP */
  {0x2967 , ON }, /* LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN */
  {0x2968 , ON }, /* RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP */
  {0x2969 , ON }, /* RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN */
  {0x296A , ON }, /* LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH */
  {0x296B , ON }, /* LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH */
  {0x296C , ON }, /* RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH */
  {0x296D , ON }, /* RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH */
  {0x296E , ON }, /* UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT */
  {0x296F , ON }, /* DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT */
  {0x2970 , ON }, /* RIGHT DOUBLE ARROW WITH ROUNDED HEAD */
  {0x2971 , ON }, /* EQUALS SIGN ABOVE RIGHTWARDS ARROW */
  {0x2972 , ON }, /* TILDE OPERATOR ABOVE RIGHTWARDS ARROW */
  {0x2973 , ON }, /* LEFTWARDS ARROW ABOVE TILDE OPERATOR */
  {0x2974 , ON }, /* RIGHTWARDS ARROW ABOVE TILDE OPERATOR */
  {0x2975 , ON }, /* RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO */
  {0x2976 , ON }, /* LESS-THAN ABOVE LEFTWARDS ARROW */
  {0x2977 , ON }, /* LEFTWARDS ARROW THROUGH LESS-THAN */
  {0x2978 , ON }, /* GREATER-THAN ABOVE RIGHTWARDS ARROW */
  {0x2979 , ON }, /* SUBSET ABOVE RIGHTWARDS ARROW */
  {0x297A , ON }, /* LEFTWARDS ARROW THROUGH SUBSET */
  {0x297B , ON }, /* SUPERSET ABOVE LEFTWARDS ARROW */
  {0x297C , ON }, /* LEFT FISH TAIL */
  {0x297D , ON }, /* RIGHT FISH TAIL */
  {0x297E , ON }, /* UP FISH TAIL */
  {0x297F , ON }, /* DOWN FISH TAIL */
  {0x2980 , ON }, /* TRIPLE VERTICAL BAR DELIMITER */
  {0x2981 , ON }, /* Z NOTATION SPOT */
  {0x2982 , ON }, /* Z NOTATION TYPE COLON */
  {0x2983 , ON }, /* LEFT WHITE CURLY BRACKET */
  {0x2984 , ON }, /* RIGHT WHITE CURLY BRACKET */
  {0x2985 , ON }, /* LEFT WHITE PARENTHESIS */
  {0x2986 , ON }, /* RIGHT WHITE PARENTHESIS */
  {0x2987 , ON }, /* Z NOTATION LEFT IMAGE BRACKET */
  {0x2988 , ON }, /* Z NOTATION RIGHT IMAGE BRACKET */
  {0x2989 , ON }, /* Z NOTATION LEFT BINDING BRACKET */
  {0x298A , ON }, /* Z NOTATION RIGHT BINDING BRACKET */
  {0x298B , ON }, /* LEFT SQUARE BRACKET WITH UNDERBAR */
  {0x298C , ON }, /* RIGHT SQUARE BRACKET WITH UNDERBAR */
  {0x298D , ON }, /* LEFT SQUARE BRACKET WITH TICK IN TOP CORNER */
  {0x298E , ON }, /* RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER */
  {0x298F , ON }, /* LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER */
  {0x2990 , ON }, /* RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER */
  {0x2991 , ON }, /* LEFT ANGLE BRACKET WITH DOT */
  {0x2992 , ON }, /* RIGHT ANGLE BRACKET WITH DOT */
  {0x2993 , ON }, /* LEFT ARC LESS-THAN BRACKET */
  {0x2994 , ON }, /* RIGHT ARC GREATER-THAN BRACKET */
  {0x2995 , ON }, /* DOUBLE LEFT ARC GREATER-THAN BRACKET */
  {0x2996 , ON }, /* DOUBLE RIGHT ARC LESS-THAN BRACKET */
  {0x2997 , ON }, /* LEFT BLACK TORTOISE SHELL BRACKET */
  {0x2998 , ON }, /* RIGHT BLACK TORTOISE SHELL BRACKET */
  {0x2999 , ON }, /* DOTTED FENCE */
  {0x299A , ON }, /* VERTICAL ZIGZAG LINE */
  {0x299B , ON }, /* MEASURED ANGLE OPENING LEFT */
  {0x299C , ON }, /* RIGHT ANGLE VARIANT WITH SQUARE */
  {0x299D , ON }, /* MEASURED RIGHT ANGLE WITH DOT */
  {0x299E , ON }, /* ANGLE WITH S INSIDE */
  {0x299F , ON }, /* ACUTE ANGLE */
  {0x29A0 , ON }, /* SPHERICAL ANGLE OPENING LEFT */
  {0x29A1 , ON }, /* SPHERICAL ANGLE OPENING UP */
  {0x29A2 , ON }, /* TURNED ANGLE */
  {0x29A3 , ON }, /* REVERSED ANGLE */
  {0x29A4 , ON }, /* ANGLE WITH UNDERBAR */
  {0x29A5 , ON }, /* REVERSED ANGLE WITH UNDERBAR */
  {0x29A6 , ON }, /* OBLIQUE ANGLE OPENING UP */
  {0x29A7 , ON }, /* OBLIQUE ANGLE OPENING DOWN */
  {0x29A8 , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT */
  {0x29A9 , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT */
  {0x29AA , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT */
  {0x29AB , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT */
  {0x29AC , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP */
  {0x29AD , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP */
  {0x29AE , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN */
  {0x29AF , ON }, /* MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN */
  {0x29B0 , ON }, /* REVERSED EMPTY SET */
  {0x29B1 , ON }, /* EMPTY SET WITH OVERBAR */
  {0x29B2 , ON }, /* EMPTY SET WITH SMALL CIRCLE ABOVE */
  {0x29B3 , ON }, /* EMPTY SET WITH RIGHT ARROW ABOVE */
  {0x29B4 , ON }, /* EMPTY SET WITH LEFT ARROW ABOVE */
  {0x29B5 , ON }, /* CIRCLE WITH HORIZONTAL BAR */
  {0x29B6 , ON }, /* CIRCLED VERTICAL BAR */
  {0x29B7 , ON }, /* CIRCLED PARALLEL */
  {0x29B8 , ON }, /* CIRCLED REVERSE SOLIDUS */
  {0x29B9 , ON }, /* CIRCLED PERPENDICULAR */
  {0x29BA , ON }, /* CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR */
  {0x29BB , ON }, /* CIRCLE WITH SUPERIMPOSED X */
  {0x29BC , ON }, /* CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN */
  {0x29BD , ON }, /* UP ARROW THROUGH CIRCLE */
  {0x29BE , ON }, /* CIRCLED WHITE BULLET */
  {0x29BF , ON }, /* CIRCLED BULLET */
  {0x29C0 , ON }, /* CIRCLED LESS-THAN */
  {0x29C1 , ON }, /* CIRCLED GREATER-THAN */
  {0x29C2 , ON }, /* CIRCLE WITH SMALL CIRCLE TO THE RIGHT */
  {0x29C3 , ON }, /* CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT */
  {0x29C4 , ON }, /* SQUARED RISING DIAGONAL SLASH */
  {0x29C5 , ON }, /* SQUARED FALLING DIAGONAL SLASH */
  {0x29C6 , ON }, /* SQUARED ASTERISK */
  {0x29C7 , ON }, /* SQUARED SMALL CIRCLE */
  {0x29C8 , ON }, /* SQUARED SQUARE */
  {0x29C9 , ON }, /* TWO JOINED SQUARES */
  {0x29CA , ON }, /* TRIANGLE WITH DOT ABOVE */
  {0x29CB , ON }, /* TRIANGLE WITH UNDERBAR */
  {0x29CC , ON }, /* S IN TRIANGLE */
  {0x29CD , ON }, /* TRIANGLE WITH SERIFS AT BOTTOM */
  {0x29CE , ON }, /* RIGHT TRIANGLE ABOVE LEFT TRIANGLE */
  {0x29CF , ON }, /* LEFT TRIANGLE BESIDE VERTICAL BAR */
  {0x29D0 , ON }, /* VERTICAL BAR BESIDE RIGHT TRIANGLE */
  {0x29D1 , ON }, /* BOWTIE WITH LEFT HALF BLACK */
  {0x29D2 , ON }, /* BOWTIE WITH RIGHT HALF BLACK */
  {0x29D3 , ON }, /* BLACK BOWTIE */
  {0x29D4 , ON }, /* TIMES WITH LEFT HALF BLACK */
  {0x29D5 , ON }, /* TIMES WITH RIGHT HALF BLACK */
  {0x29D6 , ON }, /* WHITE HOURGLASS */
  {0x29D7 , ON }, /* BLACK HOURGLASS */
  {0x29D8 , ON }, /* LEFT WIGGLY FENCE */
  {0x29D9 , ON }, /* RIGHT WIGGLY FENCE */
  {0x29DA , ON }, /* LEFT DOUBLE WIGGLY FENCE */
  {0x29DB , ON }, /* RIGHT DOUBLE WIGGLY FENCE */
  {0x29DC , ON }, /* INCOMPLETE INFINITY */
  {0x29DD , ON }, /* TIE OVER INFINITY */
  {0x29DE , ON }, /* INFINITY NEGATED WITH VERTICAL BAR */
  {0x29DF , ON }, /* DOUBLE-ENDED MULTIMAP */
  {0x29E0 , ON }, /* SQUARE WITH CONTOURED OUTLINE */
  {0x29E1 , ON }, /* INCREASES AS */
  {0x29E2 , ON }, /* SHUFFLE PRODUCT */
  {0x29E3 , ON }, /* EQUALS SIGN AND SLANTED PARALLEL */
  {0x29E4 , ON }, /* EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE */
  {0x29E5 , ON }, /* IDENTICAL TO AND SLANTED PARALLEL */
  {0x29E6 , ON }, /* GLEICH STARK */
  {0x29E7 , ON }, /* THERMODYNAMIC */
  {0x29E8 , ON }, /* DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK */
  {0x29E9 , ON }, /* DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK */
  {0x29EA , ON }, /* BLACK DIAMOND WITH DOWN ARROW */
  {0x29EB , ON }, /* BLACK LOZENGE */
  {0x29EC , ON }, /* WHITE CIRCLE WITH DOWN ARROW */
  {0x29ED , ON }, /* BLACK CIRCLE WITH DOWN ARROW */
  {0x29EE , ON }, /* ERROR-BARRED WHITE SQUARE */
  {0x29EF , ON }, /* ERROR-BARRED BLACK SQUARE */
  {0x29F0 , ON }, /* ERROR-BARRED WHITE DIAMOND */
  {0x29F1 , ON }, /* ERROR-BARRED BLACK DIAMOND */
  {0x29F2 , ON }, /* ERROR-BARRED WHITE CIRCLE */
  {0x29F3 , ON }, /* ERROR-BARRED BLACK CIRCLE */
  {0x29F4 , ON }, /* RULE-DELAYED */
  {0x29F5 , ON }, /* REVERSE SOLIDUS OPERATOR */
  {0x29F6 , ON }, /* SOLIDUS WITH OVERBAR */
  {0x29F7 , ON }, /* REVERSE SOLIDUS WITH HORIZONTAL STROKE */
  {0x29F8 , ON }, /* BIG SOLIDUS */
  {0x29F9 , ON }, /* BIG REVERSE SOLIDUS */
  {0x29FA , ON }, /* DOUBLE PLUS */
  {0x29FB , ON }, /* TRIPLE PLUS */
  {0x29FC , ON }, /* LEFT-POINTING CURVED ANGLE BRACKET */
  {0x29FD , ON }, /* RIGHT-POINTING CURVED ANGLE BRACKET */
  {0x29FE , ON }, /* TINY */
  {0x29FF , ON }, /* MINY */
  {0x2A00 , ON }, /* N-ARY CIRCLED DOT OPERATOR */
  {0x2A01 , ON }, /* N-ARY CIRCLED PLUS OPERATOR */
  {0x2A02 , ON }, /* N-ARY CIRCLED TIMES OPERATOR */
  {0x2A03 , ON }, /* N-ARY UNION OPERATOR WITH DOT */
  {0x2A04 , ON }, /* N-ARY UNION OPERATOR WITH PLUS */
  {0x2A05 , ON }, /* N-ARY SQUARE INTERSECTION OPERATOR */
  {0x2A06 , ON }, /* N-ARY SQUARE UNION OPERATOR */
  {0x2A07 , ON }, /* TWO LOGICAL AND OPERATOR */
  {0x2A08 , ON }, /* TWO LOGICAL OR OPERATOR */
  {0x2A09 , ON }, /* N-ARY TIMES OPERATOR */
  {0x2A0A , ON }, /* MODULO TWO SUM */
  {0x2A0B , ON }, /* SUMMATION WITH INTEGRAL */
  {0x2A0C , ON }, /* QUADRUPLE INTEGRAL OPERATOR */
  {0x2A0D , ON }, /* FINITE PART INTEGRAL */
  {0x2A0E , ON }, /* INTEGRAL WITH DOUBLE STROKE */
  {0x2A0F , ON }, /* INTEGRAL AVERAGE WITH SLASH */
  {0x2A10 , ON }, /* CIRCULATION FUNCTION */
  {0x2A11 , ON }, /* ANTICLOCKWISE INTEGRATION */
  {0x2A12 , ON }, /* LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE */
  {0x2A13 , ON }, /* LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE */
  {0x2A14 , ON }, /* LINE INTEGRATION NOT INCLUDING THE POLE */
  {0x2A15 , ON }, /* INTEGRAL AROUND A POINT OPERATOR */
  {0x2A16 , ON }, /* QUATERNION INTEGRAL OPERATOR */
  {0x2A17 , ON }, /* INTEGRAL WITH LEFTWARDS ARROW WITH HOOK */
  {0x2A18 , ON }, /* INTEGRAL WITH TIMES SIGN */
  {0x2A19 , ON }, /* INTEGRAL WITH INTERSECTION */
  {0x2A1A , ON }, /* INTEGRAL WITH UNION */
  {0x2A1B , ON }, /* INTEGRAL WITH OVERBAR */
  {0x2A1C , ON }, /* INTEGRAL WITH UNDERBAR */
  {0x2A1D , ON }, /* JOIN */
  {0x2A1E , ON }, /* LARGE LEFT TRIANGLE OPERATOR */
  {0x2A1F , ON }, /* Z NOTATION SCHEMA COMPOSITION */
  {0x2A20 , ON }, /* Z NOTATION SCHEMA PIPING */
  {0x2A21 , ON }, /* Z NOTATION SCHEMA PROJECTION */
  {0x2A22 , ON }, /* PLUS SIGN WITH SMALL CIRCLE ABOVE */
  {0x2A23 , ON }, /* PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE */
  {0x2A24 , ON }, /* PLUS SIGN WITH TILDE ABOVE */
  {0x2A25 , ON }, /* PLUS SIGN WITH DOT BELOW */
  {0x2A26 , ON }, /* PLUS SIGN WITH TILDE BELOW */
  {0x2A27 , ON }, /* PLUS SIGN WITH SUBSCRIPT TWO */
  {0x2A28 , ON }, /* PLUS SIGN WITH BLACK TRIANGLE */
  {0x2A29 , ON }, /* MINUS SIGN WITH COMMA ABOVE */
  {0x2A2A , ON }, /* MINUS SIGN WITH DOT BELOW */
  {0x2A2B , ON }, /* MINUS SIGN WITH FALLING DOTS */
  {0x2A2C , ON }, /* MINUS SIGN WITH RISING DOTS */
  {0x2A2D , ON }, /* PLUS SIGN IN LEFT HALF CIRCLE */
  {0x2A2E , ON }, /* PLUS SIGN IN RIGHT HALF CIRCLE */
  {0x2A2F , ON }, /* VECTOR OR CROSS PRODUCT */
  {0x2A30 , ON }, /* MULTIPLICATION SIGN WITH DOT ABOVE */
  {0x2A31 , ON }, /* MULTIPLICATION SIGN WITH UNDERBAR */
  {0x2A32 , ON }, /* SEMIDIRECT PRODUCT WITH BOTTOM CLOSED */
  {0x2A33 , ON }, /* SMASH PRODUCT */
  {0x2A34 , ON }, /* MULTIPLICATION SIGN IN LEFT HALF CIRCLE */
  {0x2A35 , ON }, /* MULTIPLICATION SIGN IN RIGHT HALF CIRCLE */
  {0x2A36 , ON }, /* CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT */
  {0x2A37 , ON }, /* MULTIPLICATION SIGN IN DOUBLE CIRCLE */
  {0x2A38 , ON }, /* CIRCLED DIVISION SIGN */
  {0x2A39 , ON }, /* PLUS SIGN IN TRIANGLE */
  {0x2A3A , ON }, /* MINUS SIGN IN TRIANGLE */
  {0x2A3B , ON }, /* MULTIPLICATION SIGN IN TRIANGLE */
  {0x2A3C , ON }, /* INTERIOR PRODUCT */
  {0x2A3D , ON }, /* RIGHTHAND INTERIOR PRODUCT */
  {0x2A3E , ON }, /* Z NOTATION RELATIONAL COMPOSITION */
  {0x2A3F , ON }, /* AMALGAMATION OR COPRODUCT */
  {0x2A40 , ON }, /* INTERSECTION WITH DOT */
  {0x2A41 , ON }, /* UNION WITH MINUS SIGN */
  {0x2A42 , ON }, /* UNION WITH OVERBAR */
  {0x2A43 , ON }, /* INTERSECTION WITH OVERBAR */
  {0x2A44 , ON }, /* INTERSECTION WITH LOGICAL AND */
  {0x2A45 , ON }, /* UNION WITH LOGICAL OR */
  {0x2A46 , ON }, /* UNION ABOVE INTERSECTION */
  {0x2A47 , ON }, /* INTERSECTION ABOVE UNION */
  {0x2A48 , ON }, /* UNION ABOVE BAR ABOVE INTERSECTION */
  {0x2A49 , ON }, /* INTERSECTION ABOVE BAR ABOVE UNION */
  {0x2A4A , ON }, /* UNION BESIDE AND JOINED WITH UNION */
  {0x2A4B , ON }, /* INTERSECTION BESIDE AND JOINED WITH INTERSECTION */
  {0x2A4C , ON }, /* CLOSED UNION WITH SERIFS */
  {0x2A4D , ON }, /* CLOSED INTERSECTION WITH SERIFS */
  {0x2A4E , ON }, /* DOUBLE SQUARE INTERSECTION */
  {0x2A4F , ON }, /* DOUBLE SQUARE UNION */
  {0x2A50 , ON }, /* CLOSED UNION WITH SERIFS AND SMASH PRODUCT */
  {0x2A51 , ON }, /* LOGICAL AND WITH DOT ABOVE */
  {0x2A52 , ON }, /* LOGICAL OR WITH DOT ABOVE */
  {0x2A53 , ON }, /* DOUBLE LOGICAL AND */
  {0x2A54 , ON }, /* DOUBLE LOGICAL OR */
  {0x2A55 , ON }, /* TWO INTERSECTING LOGICAL AND */
  {0x2A56 , ON }, /* TWO INTERSECTING LOGICAL OR */
  {0x2A57 , ON }, /* SLOPING LARGE OR */
  {0x2A58 , ON }, /* SLOPING LARGE AND */
  {0x2A59 , ON }, /* LOGICAL OR OVERLAPPING LOGICAL AND */
  {0x2A5A , ON }, /* LOGICAL AND WITH MIDDLE STEM */
  {0x2A5B , ON }, /* LOGICAL OR WITH MIDDLE STEM */
  {0x2A5C , ON }, /* LOGICAL AND WITH HORIZONTAL DASH */
  {0x2A5D , ON }, /* LOGICAL OR WITH HORIZONTAL DASH */
  {0x2A5E , ON }, /* LOGICAL AND WITH DOUBLE OVERBAR */
  {0x2A5F , ON }, /* LOGICAL AND WITH UNDERBAR */
  {0x2A60 , ON }, /* LOGICAL AND WITH DOUBLE UNDERBAR */
  {0x2A61 , ON }, /* SMALL VEE WITH UNDERBAR */
  {0x2A62 , ON }, /* LOGICAL OR WITH DOUBLE OVERBAR */
  {0x2A63 , ON }, /* LOGICAL OR WITH DOUBLE UNDERBAR */
  {0x2A64 , ON }, /* Z NOTATION DOMAIN ANTIRESTRICTION */
  {0x2A65 , ON }, /* Z NOTATION RANGE ANTIRESTRICTION */
  {0x2A66 , ON }, /* EQUALS SIGN WITH DOT BELOW */
  {0x2A67 , ON }, /* IDENTICAL WITH DOT ABOVE */
  {0x2A68 , ON }, /* TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE */
  {0x2A69 , ON }, /* TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE */
  {0x2A6A , ON }, /* TILDE OPERATOR WITH DOT ABOVE */
  {0x2A6B , ON }, /* TILDE OPERATOR WITH RISING DOTS */
  {0x2A6C , ON }, /* SIMILAR MINUS SIMILAR */
  {0x2A6D , ON }, /* CONGRUENT WITH DOT ABOVE */
  {0x2A6E , ON }, /* EQUALS WITH ASTERISK */
  {0x2A6F , ON }, /* ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT */
  {0x2A70 , ON }, /* APPROXIMATELY EQUAL OR EQUAL TO */
  {0x2A71 , ON }, /* EQUALS SIGN ABOVE PLUS SIGN */
  {0x2A72 , ON }, /* PLUS SIGN ABOVE EQUALS SIGN */
  {0x2A73 , ON }, /* EQUALS SIGN ABOVE TILDE OPERATOR */
  {0x2A74 , ON }, /* DOUBLE COLON EQUAL */
  {0x2A75 , ON }, /* TWO CONSECUTIVE EQUALS SIGNS */
  {0x2A76 , ON }, /* THREE CONSECUTIVE EQUALS SIGNS */
  {0x2A77 , ON }, /* EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW */
  {0x2A78 , ON }, /* EQUIVALENT WITH FOUR DOTS ABOVE */
  {0x2A79 , ON }, /* LESS-THAN WITH CIRCLE INSIDE */
  {0x2A7A , ON }, /* GREATER-THAN WITH CIRCLE INSIDE */
  {0x2A7B , ON }, /* LESS-THAN WITH QUESTION MARK ABOVE */
  {0x2A7C , ON }, /* GREATER-THAN WITH QUESTION MARK ABOVE */
  {0x2A7D , ON }, /* LESS-THAN OR SLANTED EQUAL TO */
  {0x2A7E , ON }, /* GREATER-THAN OR SLANTED EQUAL TO */
  {0x2A7F , ON }, /* LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE */
  {0x2A80 , ON }, /* GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE */
  {0x2A81 , ON }, /* LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE */
  {0x2A82 , ON }, /* GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE */
  {0x2A83 , ON }, /* LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT */
  {0x2A84 , ON }, /* GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT */
  {0x2A85 , ON }, /* LESS-THAN OR APPROXIMATE */
  {0x2A86 , ON }, /* GREATER-THAN OR APPROXIMATE */
  {0x2A87 , ON }, /* LESS-THAN AND SINGLE-LINE NOT EQUAL TO */
  {0x2A88 , ON }, /* GREATER-THAN AND SINGLE-LINE NOT EQUAL TO */
  {0x2A89 , ON }, /* LESS-THAN AND NOT APPROXIMATE */
  {0x2A8A , ON }, /* GREATER-THAN AND NOT APPROXIMATE */
  {0x2A8B , ON }, /* LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN */
  {0x2A8C , ON }, /* GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN */
  {0x2A8D , ON }, /* LESS-THAN ABOVE SIMILAR OR EQUAL */
  {0x2A8E , ON }, /* GREATER-THAN ABOVE SIMILAR OR EQUAL */
  {0x2A8F , ON }, /* LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN */
  {0x2A90 , ON }, /* GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN */
  {0x2A91 , ON }, /* LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL */
  {0x2A92 , ON }, /* GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL */
  {0x2A93 , ON }, /* LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL */
  {0x2A94 , ON }, /* GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL */
  {0x2A95 , ON }, /* SLANTED EQUAL TO OR LESS-THAN */
  {0x2A96 , ON }, /* SLANTED EQUAL TO OR GREATER-THAN */
  {0x2A97 , ON }, /* SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE */
  {0x2A98 , ON }, /* SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE */
  {0x2A99 , ON }, /* DOUBLE-LINE EQUAL TO OR LESS-THAN */
  {0x2A9A , ON }, /* DOUBLE-LINE EQUAL TO OR GREATER-THAN */
  {0x2A9B , ON }, /* DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN */
  {0x2A9C , ON }, /* DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN */
  {0x2A9D , ON }, /* SIMILAR OR LESS-THAN */
  {0x2A9E , ON }, /* SIMILAR OR GREATER-THAN */
  {0x2A9F , ON }, /* SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN */
  {0x2AA0 , ON }, /* SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN */
  {0x2AA1 , ON }, /* DOUBLE NESTED LESS-THAN */
  {0x2AA2 , ON }, /* DOUBLE NESTED GREATER-THAN */
  {0x2AA3 , ON }, /* DOUBLE NESTED LESS-THAN WITH UNDERBAR */
  {0x2AA4 , ON }, /* GREATER-THAN OVERLAPPING LESS-THAN */
  {0x2AA5 , ON }, /* GREATER-THAN BESIDE LESS-THAN */
  {0x2AA6 , ON }, /* LESS-THAN CLOSED BY CURVE */
  {0x2AA7 , ON }, /* GREATER-THAN CLOSED BY CURVE */
  {0x2AA8 , ON }, /* LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL */
  {0x2AA9 , ON }, /* GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL */
  {0x2AAA , ON }, /* SMALLER THAN */
  {0x2AAB , ON }, /* LARGER THAN */
  {0x2AAC , ON }, /* SMALLER THAN OR EQUAL TO */
  {0x2AAD , ON }, /* LARGER THAN OR EQUAL TO */
  {0x2AAE , ON }, /* EQUALS SIGN WITH BUMPY ABOVE */
  {0x2AAF , ON }, /* PRECEDES ABOVE SINGLE-LINE EQUALS SIGN */
  {0x2AB0 , ON }, /* SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN */
  {0x2AB1 , ON }, /* PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO */
  {0x2AB2 , ON }, /* SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO */
  {0x2AB3 , ON }, /* PRECEDES ABOVE EQUALS SIGN */
  {0x2AB4 , ON }, /* SUCCEEDS ABOVE EQUALS SIGN */
  {0x2AB5 , ON }, /* PRECEDES ABOVE NOT EQUAL TO */
  {0x2AB6 , ON }, /* SUCCEEDS ABOVE NOT EQUAL TO */
  {0x2AB7 , ON }, /* PRECEDES ABOVE ALMOST EQUAL TO */
  {0x2AB8 , ON }, /* SUCCEEDS ABOVE ALMOST EQUAL TO */
  {0x2AB9 , ON }, /* PRECEDES ABOVE NOT ALMOST EQUAL TO */
  {0x2ABA , ON }, /* SUCCEEDS ABOVE NOT ALMOST EQUAL TO */
  {0x2ABB , ON }, /* DOUBLE PRECEDES */
  {0x2ABC , ON }, /* DOUBLE SUCCEEDS */
  {0x2ABD , ON }, /* SUBSET WITH DOT */
  {0x2ABE , ON }, /* SUPERSET WITH DOT */
  {0x2ABF , ON }, /* SUBSET WITH PLUS SIGN BELOW */
  {0x2AC0 , ON }, /* SUPERSET WITH PLUS SIGN BELOW */
  {0x2AC1 , ON }, /* SUBSET WITH MULTIPLICATION SIGN BELOW */
  {0x2AC2 , ON }, /* SUPERSET WITH MULTIPLICATION SIGN BELOW */
  {0x2AC3 , ON }, /* SUBSET OF OR EQUAL TO WITH DOT ABOVE */
  {0x2AC4 , ON }, /* SUPERSET OF OR EQUAL TO WITH DOT ABOVE */
  {0x2AC5 , ON }, /* SUBSET OF ABOVE EQUALS SIGN */
  {0x2AC6 , ON }, /* SUPERSET OF ABOVE EQUALS SIGN */
  {0x2AC7 , ON }, /* SUBSET OF ABOVE TILDE OPERATOR */
  {0x2AC8 , ON }, /* SUPERSET OF ABOVE TILDE OPERATOR */
  {0x2AC9 , ON }, /* SUBSET OF ABOVE ALMOST EQUAL TO */
  {0x2ACA , ON }, /* SUPERSET OF ABOVE ALMOST EQUAL TO */
  {0x2ACB , ON }, /* SUBSET OF ABOVE NOT EQUAL TO */
  {0x2ACC , ON }, /* SUPERSET OF ABOVE NOT EQUAL TO */
  {0x2ACD , ON }, /* SQUARE LEFT OPEN BOX OPERATOR */
  {0x2ACE , ON }, /* SQUARE RIGHT OPEN BOX OPERATOR */
  {0x2ACF , ON }, /* CLOSED SUBSET */
  {0x2AD0 , ON }, /* CLOSED SUPERSET */
  {0x2AD1 , ON }, /* CLOSED SUBSET OR EQUAL TO */
  {0x2AD2 , ON }, /* CLOSED SUPERSET OR EQUAL TO */
  {0x2AD3 , ON }, /* SUBSET ABOVE SUPERSET */
  {0x2AD4 , ON }, /* SUPERSET ABOVE SUBSET */
  {0x2AD5 , ON }, /* SUBSET ABOVE SUBSET */
  {0x2AD6 , ON }, /* SUPERSET ABOVE SUPERSET */
  {0x2AD7 , ON }, /* SUPERSET BESIDE SUBSET */
  {0x2AD8 , ON }, /* SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET */
  {0x2AD9 , ON }, /* ELEMENT OF OPENING DOWNWARDS */
  {0x2ADA , ON }, /* PITCHFORK WITH TEE TOP */
  {0x2ADB , ON }, /* TRANSVERSAL INTERSECTION */
  {0x2ADC , ON }, /* FORKING */
  {0x2ADD , ON }, /* NONFORKING */
  {0x2ADE , ON }, /* SHORT LEFT TACK */
  {0x2ADF , ON }, /* SHORT DOWN TACK */
  {0x2AE0 , ON }, /* SHORT UP TACK */
  {0x2AE1 , ON }, /* PERPENDICULAR WITH S */
  {0x2AE2 , ON }, /* VERTICAL BAR TRIPLE RIGHT TURNSTILE */
  {0x2AE3 , ON }, /* DOUBLE VERTICAL BAR LEFT TURNSTILE */
  {0x2AE4 , ON }, /* VERTICAL BAR DOUBLE LEFT TURNSTILE */
  {0x2AE5 , ON }, /* DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE */
  {0x2AE6 , ON }, /* LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL */
  {0x2AE7 , ON }, /* SHORT DOWN TACK WITH OVERBAR */
  {0x2AE8 , ON }, /* SHORT UP TACK WITH UNDERBAR */
  {0x2AE9 , ON }, /* SHORT UP TACK ABOVE SHORT DOWN TACK */
  {0x2AEA , ON }, /* DOUBLE DOWN TACK */
  {0x2AEB , ON }, /* DOUBLE UP TACK */
  {0x2AEC , ON }, /* DOUBLE STROKE NOT SIGN */
  {0x2AED , ON }, /* REVERSED DOUBLE STROKE NOT SIGN */
  {0x2AEE , ON }, /* DOES NOT DIVIDE WITH REVERSED NEGATION SLASH */
  {0x2AEF , ON }, /* VERTICAL LINE WITH CIRCLE ABOVE */
  {0x2AF0 , ON }, /* VERTICAL LINE WITH CIRCLE BELOW */
  {0x2AF1 , ON }, /* DOWN TACK WITH CIRCLE BELOW */
  {0x2AF2 , ON }, /* PARALLEL WITH HORIZONTAL STROKE */
  {0x2AF3 , ON }, /* PARALLEL WITH TILDE OPERATOR */
  {0x2AF4 , ON }, /* TRIPLE VERTICAL BAR BINARY RELATION */
  {0x2AF5 , ON }, /* TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE */
  {0x2AF6 , ON }, /* TRIPLE COLON OPERATOR */
  {0x2AF7 , ON }, /* TRIPLE NESTED LESS-THAN */
  {0x2AF8 , ON }, /* TRIPLE NESTED GREATER-THAN */
  {0x2AF9 , ON }, /* DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO */
  {0x2AFA , ON }, /* DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO */
  {0x2AFB , ON }, /* TRIPLE SOLIDUS BINARY RELATION */
  {0x2AFC , ON }, /* LARGE TRIPLE VERTICAL BAR OPERATOR */
  {0x2AFD , ON }, /* DOUBLE SOLIDUS OPERATOR */
  {0x2AFE , ON }, /* WHITE VERTICAL BAR */
  {0x2AFF , ON }, /* N-ARY WHITE VERTICAL BAR */
  {0x2B00 , ON }, /* NORTH EAST WHITE ARROW */
  {0x2B01 , ON }, /* NORTH WEST WHITE ARROW */
  {0x2B02 , ON }, /* SOUTH EAST WHITE ARROW */
  {0x2B03 , ON }, /* SOUTH WEST WHITE ARROW */
  {0x2B04 , ON }, /* LEFT RIGHT WHITE ARROW */
  {0x2B05 , ON }, /* LEFTWARDS BLACK ARROW */
  {0x2B06 , ON }, /* UPWARDS BLACK ARROW */
  {0x2B07 , ON }, /* DOWNWARDS BLACK ARROW */
  {0x2B08 , ON }, /* NORTH EAST BLACK ARROW */
  {0x2B09 , ON }, /* NORTH WEST BLACK ARROW */
  {0x2B0A , ON }, /* SOUTH EAST BLACK ARROW */
  {0x2B0B , ON }, /* SOUTH WEST BLACK ARROW */
  {0x2B0C , ON }, /* LEFT RIGHT BLACK ARROW */
  {0x2B0D , ON }, /* UP DOWN BLACK ARROW */
  {0x2B0E , ON }, /* RIGHTWARDS ARROW WITH TIP DOWNWARDS */
  {0x2B0F , ON }, /* RIGHTWARDS ARROW WITH TIP UPWARDS */
  {0x2B10 , ON }, /* LEFTWARDS ARROW WITH TIP DOWNWARDS */
  {0x2B11 , ON }, /* LEFTWARDS ARROW WITH TIP UPWARDS */
  {0x2B12 , ON }, /* SQUARE WITH TOP HALF BLACK */
  {0x2B13 , ON }, /* SQUARE WITH BOTTOM HALF BLACK */
  {0x2C00 , L  }, /* GLAGOLITIC CAPITAL LETTER AZU */
  {0x2C01 , L  }, /* GLAGOLITIC CAPITAL LETTER BUKY */
  {0x2C02 , L  }, /* GLAGOLITIC CAPITAL LETTER VEDE */
  {0x2C03 , L  }, /* GLAGOLITIC CAPITAL LETTER GLAGOLI */
  {0x2C04 , L  }, /* GLAGOLITIC CAPITAL LETTER DOBRO */
  {0x2C05 , L  }, /* GLAGOLITIC CAPITAL LETTER YESTU */
  {0x2C06 , L  }, /* GLAGOLITIC CAPITAL LETTER ZHIVETE */
  {0x2C07 , L  }, /* GLAGOLITIC CAPITAL LETTER DZELO */
  {0x2C08 , L  }, /* GLAGOLITIC CAPITAL LETTER ZEMLJA */
  {0x2C09 , L  }, /* GLAGOLITIC CAPITAL LETTER IZHE */
  {0x2C0A , L  }, /* GLAGOLITIC CAPITAL LETTER INITIAL IZHE */
  {0x2C0B , L  }, /* GLAGOLITIC CAPITAL LETTER I */
  {0x2C0C , L  }, /* GLAGOLITIC CAPITAL LETTER DJERVI */
  {0x2C0D , L  }, /* GLAGOLITIC CAPITAL LETTER KAKO */
  {0x2C0E , L  }, /* GLAGOLITIC CAPITAL LETTER LJUDIJE */
  {0x2C0F , L  }, /* GLAGOLITIC CAPITAL LETTER MYSLITE */
  {0x2C10 , L  }, /* GLAGOLITIC CAPITAL LETTER NASHI */
  {0x2C11 , L  }, /* GLAGOLITIC CAPITAL LETTER ONU */
  {0x2C12 , L  }, /* GLAGOLITIC CAPITAL LETTER POKOJI */
  {0x2C13 , L  }, /* GLAGOLITIC CAPITAL LETTER RITSI */
  {0x2C14 , L  }, /* GLAGOLITIC CAPITAL LETTER SLOVO */
  {0x2C15 , L  }, /* GLAGOLITIC CAPITAL LETTER TVRIDO */
  {0x2C16 , L  }, /* GLAGOLITIC CAPITAL LETTER UKU */
  {0x2C17 , L  }, /* GLAGOLITIC CAPITAL LETTER FRITU */
  {0x2C18 , L  }, /* GLAGOLITIC CAPITAL LETTER HERU */
  {0x2C19 , L  }, /* GLAGOLITIC CAPITAL LETTER OTU */
  {0x2C1A , L  }, /* GLAGOLITIC CAPITAL LETTER PE */
  {0x2C1B , L  }, /* GLAGOLITIC CAPITAL LETTER SHTA */
  {0x2C1C , L  }, /* GLAGOLITIC CAPITAL LETTER TSI */
  {0x2C1D , L  }, /* GLAGOLITIC CAPITAL LETTER CHRIVI */
  {0x2C1E , L  }, /* GLAGOLITIC CAPITAL LETTER SHA */
  {0x2C1F , L  }, /* GLAGOLITIC CAPITAL LETTER YERU */
  {0x2C20 , L  }, /* GLAGOLITIC CAPITAL LETTER YERI */
  {0x2C21 , L  }, /* GLAGOLITIC CAPITAL LETTER YATI */
  {0x2C22 , L  }, /* GLAGOLITIC CAPITAL LETTER SPIDERY HA */
  {0x2C23 , L  }, /* GLAGOLITIC CAPITAL LETTER YU */
  {0x2C24 , L  }, /* GLAGOLITIC CAPITAL LETTER SMALL YUS */
  {0x2C25 , L  }, /* GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL */
  {0x2C26 , L  }, /* GLAGOLITIC CAPITAL LETTER YO */
  {0x2C27 , L  }, /* GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS */
  {0x2C28 , L  }, /* GLAGOLITIC CAPITAL LETTER BIG YUS */
  {0x2C29 , L  }, /* GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS */
  {0x2C2A , L  }, /* GLAGOLITIC CAPITAL LETTER FITA */
  {0x2C2B , L  }, /* GLAGOLITIC CAPITAL LETTER IZHITSA */
  {0x2C2C , L  }, /* GLAGOLITIC CAPITAL LETTER SHTAPIC */
  {0x2C2D , L  }, /* GLAGOLITIC CAPITAL LETTER TROKUTASTI A */
  {0x2C2E , L  }, /* GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE */
  {0x2C30 , L  }, /* GLAGOLITIC SMALL LETTER AZU */
  {0x2C31 , L  }, /* GLAGOLITIC SMALL LETTER BUKY */
  {0x2C32 , L  }, /* GLAGOLITIC SMALL LETTER VEDE */
  {0x2C33 , L  }, /* GLAGOLITIC SMALL LETTER GLAGOLI */
  {0x2C34 , L  }, /* GLAGOLITIC SMALL LETTER DOBRO */
  {0x2C35 , L  }, /* GLAGOLITIC SMALL LETTER YESTU */
  {0x2C36 , L  }, /* GLAGOLITIC SMALL LETTER ZHIVETE */
  {0x2C37 , L  }, /* GLAGOLITIC SMALL LETTER DZELO */
  {0x2C38 , L  }, /* GLAGOLITIC SMALL LETTER ZEMLJA */
  {0x2C39 , L  }, /* GLAGOLITIC SMALL LETTER IZHE */
  {0x2C3A , L  }, /* GLAGOLITIC SMALL LETTER INITIAL IZHE */
  {0x2C3B , L  }, /* GLAGOLITIC SMALL LETTER I */
  {0x2C3C , L  }, /* GLAGOLITIC SMALL LETTER DJERVI */
  {0x2C3D , L  }, /* GLAGOLITIC SMALL LETTER KAKO */
  {0x2C3E , L  }, /* GLAGOLITIC SMALL LETTER LJUDIJE */
  {0x2C3F , L  }, /* GLAGOLITIC SMALL LETTER MYSLITE */
  {0x2C40 , L  }, /* GLAGOLITIC SMALL LETTER NASHI */
  {0x2C41 , L  }, /* GLAGOLITIC SMALL LETTER ONU */
  {0x2C42 , L  }, /* GLAGOLITIC SMALL LETTER POKOJI */
  {0x2C43 , L  }, /* GLAGOLITIC SMALL LETTER RITSI */
  {0x2C44 , L  }, /* GLAGOLITIC SMALL LETTER SLOVO */
  {0x2C45 , L  }, /* GLAGOLITIC SMALL LETTER TVRIDO */
  {0x2C46 , L  }, /* GLAGOLITIC SMALL LETTER UKU */
  {0x2C47 , L  }, /* GLAGOLITIC SMALL LETTER FRITU */
  {0x2C48 , L  }, /* GLAGOLITIC SMALL LETTER HERU */
  {0x2C49 , L  }, /* GLAGOLITIC SMALL LETTER OTU */
  {0x2C4A , L  }, /* GLAGOLITIC SMALL LETTER PE */
  {0x2C4B , L  }, /* GLAGOLITIC SMALL LETTER SHTA */
  {0x2C4C , L  }, /* GLAGOLITIC SMALL LETTER TSI */
  {0x2C4D , L  }, /* GLAGOLITIC SMALL LETTER CHRIVI */
  {0x2C4E , L  }, /* GLAGOLITIC SMALL LETTER SHA */
  {0x2C4F , L  }, /* GLAGOLITIC SMALL LETTER YERU */
  {0x2C50 , L  }, /* GLAGOLITIC SMALL LETTER YERI */
  {0x2C51 , L  }, /* GLAGOLITIC SMALL LETTER YATI */
  {0x2C52 , L  }, /* GLAGOLITIC SMALL LETTER SPIDERY HA */
  {0x2C53 , L  }, /* GLAGOLITIC SMALL LETTER YU */
  {0x2C54 , L  }, /* GLAGOLITIC SMALL LETTER SMALL YUS */
  {0x2C55 , L  }, /* GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL */
  {0x2C56 , L  }, /* GLAGOLITIC SMALL LETTER YO */
  {0x2C57 , L  }, /* GLAGOLITIC SMALL LETTER IOTATED SMALL YUS */
  {0x2C58 , L  }, /* GLAGOLITIC SMALL LETTER BIG YUS */
  {0x2C59 , L  }, /* GLAGOLITIC SMALL LETTER IOTATED BIG YUS */
  {0x2C5A , L  }, /* GLAGOLITIC SMALL LETTER FITA */
  {0x2C5B , L  }, /* GLAGOLITIC SMALL LETTER IZHITSA */
  {0x2C5C , L  }, /* GLAGOLITIC SMALL LETTER SHTAPIC */
  {0x2C5D , L  }, /* GLAGOLITIC SMALL LETTER TROKUTASTI A */
  {0x2C5E , L  }, /* GLAGOLITIC SMALL LETTER LATINATE MYSLITE */
  {0x2C80 , L  }, /* COPTIC CAPITAL LETTER ALFA */
  {0x2C81 , L  }, /* COPTIC SMALL LETTER ALFA */
  {0x2C82 , L  }, /* COPTIC CAPITAL LETTER VIDA */
  {0x2C83 , L  }, /* COPTIC SMALL LETTER VIDA */
  {0x2C84 , L  }, /* COPTIC CAPITAL LETTER GAMMA */
  {0x2C85 , L  }, /* COPTIC SMALL LETTER GAMMA */
  {0x2C86 , L  }, /* COPTIC CAPITAL LETTER DALDA */
  {0x2C87 , L  }, /* COPTIC SMALL LETTER DALDA */
  {0x2C88 , L  }, /* COPTIC CAPITAL LETTER EIE */
  {0x2C89 , L  }, /* COPTIC SMALL LETTER EIE */
  {0x2C8A , L  }, /* COPTIC CAPITAL LETTER SOU */
  {0x2C8B , L  }, /* COPTIC SMALL LETTER SOU */
  {0x2C8C , L  }, /* COPTIC CAPITAL LETTER ZATA */
  {0x2C8D , L  }, /* COPTIC SMALL LETTER ZATA */
  {0x2C8E , L  }, /* COPTIC CAPITAL LETTER HATE */
  {0x2C8F , L  }, /* COPTIC SMALL LETTER HATE */
  {0x2C90 , L  }, /* COPTIC CAPITAL LETTER THETHE */
  {0x2C91 , L  }, /* COPTIC SMALL LETTER THETHE */
  {0x2C92 , L  }, /* COPTIC CAPITAL LETTER IAUDA */
  {0x2C93 , L  }, /* COPTIC SMALL LETTER IAUDA */
  {0x2C94 , L  }, /* COPTIC CAPITAL LETTER KAPA */
  {0x2C95 , L  }, /* COPTIC SMALL LETTER KAPA */
  {0x2C96 , L  }, /* COPTIC CAPITAL LETTER LAULA */
  {0x2C97 , L  }, /* COPTIC SMALL LETTER LAULA */
  {0x2C98 , L  }, /* COPTIC CAPITAL LETTER MI */
  {0x2C99 , L  }, /* COPTIC SMALL LETTER MI */
  {0x2C9A , L  }, /* COPTIC CAPITAL LETTER NI */
  {0x2C9B , L  }, /* COPTIC SMALL LETTER NI */
  {0x2C9C , L  }, /* COPTIC CAPITAL LETTER KSI */
  {0x2C9D , L  }, /* COPTIC SMALL LETTER KSI */
  {0x2C9E , L  }, /* COPTIC CAPITAL LETTER O */
  {0x2C9F , L  }, /* COPTIC SMALL LETTER O */
  {0x2CA0 , L  }, /* COPTIC CAPITAL LETTER PI */
  {0x2CA1 , L  }, /* COPTIC SMALL LETTER PI */
  {0x2CA2 , L  }, /* COPTIC CAPITAL LETTER RO */
  {0x2CA3 , L  }, /* COPTIC SMALL LETTER RO */
  {0x2CA4 , L  }, /* COPTIC CAPITAL LETTER SIMA */
  {0x2CA5 , L  }, /* COPTIC SMALL LETTER SIMA */
  {0x2CA6 , L  }, /* COPTIC CAPITAL LETTER TAU */
  {0x2CA7 , L  }, /* COPTIC SMALL LETTER TAU */
  {0x2CA8 , L  }, /* COPTIC CAPITAL LETTER UA */
  {0x2CA9 , L  }, /* COPTIC SMALL LETTER UA */
  {0x2CAA , L  }, /* COPTIC CAPITAL LETTER FI */
  {0x2CAB , L  }, /* COPTIC SMALL LETTER FI */
  {0x2CAC , L  }, /* COPTIC CAPITAL LETTER KHI */
  {0x2CAD , L  }, /* COPTIC SMALL LETTER KHI */
  {0x2CAE , L  }, /* COPTIC CAPITAL LETTER PSI */
  {0x2CAF , L  }, /* COPTIC SMALL LETTER PSI */
  {0x2CB0 , L  }, /* COPTIC CAPITAL LETTER OOU */
  {0x2CB1 , L  }, /* COPTIC SMALL LETTER OOU */
  {0x2CB2 , L  }, /* COPTIC CAPITAL LETTER DIALECT-P ALEF */
  {0x2CB3 , L  }, /* COPTIC SMALL LETTER DIALECT-P ALEF */
  {0x2CB4 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC AIN */
  {0x2CB5 , L  }, /* COPTIC SMALL LETTER OLD COPTIC AIN */
  {0x2CB6 , L  }, /* COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE */
  {0x2CB7 , L  }, /* COPTIC SMALL LETTER CRYPTOGRAMMIC EIE */
  {0x2CB8 , L  }, /* COPTIC CAPITAL LETTER DIALECT-P KAPA */
  {0x2CB9 , L  }, /* COPTIC SMALL LETTER DIALECT-P KAPA */
  {0x2CBA , L  }, /* COPTIC CAPITAL LETTER DIALECT-P NI */
  {0x2CBB , L  }, /* COPTIC SMALL LETTER DIALECT-P NI */
  {0x2CBC , L  }, /* COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI */
  {0x2CBD , L  }, /* COPTIC SMALL LETTER CRYPTOGRAMMIC NI */
  {0x2CBE , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC OOU */
  {0x2CBF , L  }, /* COPTIC SMALL LETTER OLD COPTIC OOU */
  {0x2CC0 , L  }, /* COPTIC CAPITAL LETTER SAMPI */
  {0x2CC1 , L  }, /* COPTIC SMALL LETTER SAMPI */
  {0x2CC2 , L  }, /* COPTIC CAPITAL LETTER CROSSED SHEI */
  {0x2CC3 , L  }, /* COPTIC SMALL LETTER CROSSED SHEI */
  {0x2CC4 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC SHEI */
  {0x2CC5 , L  }, /* COPTIC SMALL LETTER OLD COPTIC SHEI */
  {0x2CC6 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC ESH */
  {0x2CC7 , L  }, /* COPTIC SMALL LETTER OLD COPTIC ESH */
  {0x2CC8 , L  }, /* COPTIC CAPITAL LETTER AKHMIMIC KHEI */
  {0x2CC9 , L  }, /* COPTIC SMALL LETTER AKHMIMIC KHEI */
  {0x2CCA , L  }, /* COPTIC CAPITAL LETTER DIALECT-P HORI */
  {0x2CCB , L  }, /* COPTIC SMALL LETTER DIALECT-P HORI */
  {0x2CCC , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC HORI */
  {0x2CCD , L  }, /* COPTIC SMALL LETTER OLD COPTIC HORI */
  {0x2CCE , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC HA */
  {0x2CCF , L  }, /* COPTIC SMALL LETTER OLD COPTIC HA */
  {0x2CD0 , L  }, /* COPTIC CAPITAL LETTER L-SHAPED HA */
  {0x2CD1 , L  }, /* COPTIC SMALL LETTER L-SHAPED HA */
  {0x2CD2 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC HEI */
  {0x2CD3 , L  }, /* COPTIC SMALL LETTER OLD COPTIC HEI */
  {0x2CD4 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC HAT */
  {0x2CD5 , L  }, /* COPTIC SMALL LETTER OLD COPTIC HAT */
  {0x2CD6 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC GANGIA */
  {0x2CD7 , L  }, /* COPTIC SMALL LETTER OLD COPTIC GANGIA */
  {0x2CD8 , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC DJA */
  {0x2CD9 , L  }, /* COPTIC SMALL LETTER OLD COPTIC DJA */
  {0x2CDA , L  }, /* COPTIC CAPITAL LETTER OLD COPTIC SHIMA */
  {0x2CDB , L  }, /* COPTIC SMALL LETTER OLD COPTIC SHIMA */
  {0x2CDC , L  }, /* COPTIC CAPITAL LETTER OLD NUBIAN SHIMA */
  {0x2CDD , L  }, /* COPTIC SMALL LETTER OLD NUBIAN SHIMA */
  {0x2CDE , L  }, /* COPTIC CAPITAL LETTER OLD NUBIAN NGI */
  {0x2CDF , L  }, /* COPTIC SMALL LETTER OLD NUBIAN NGI */
  {0x2CE0 , L  }, /* COPTIC CAPITAL LETTER OLD NUBIAN NYI */
  {0x2CE1 , L  }, /* COPTIC SMALL LETTER OLD NUBIAN NYI */
  {0x2CE2 , L  }, /* COPTIC CAPITAL LETTER OLD NUBIAN WAU */
  {0x2CE3 , L  }, /* COPTIC SMALL LETTER OLD NUBIAN WAU */
  {0x2CE4 , L  }, /* COPTIC SYMBOL KAI */
  {0x2CE5 , ON }, /* COPTIC SYMBOL MI RO */
  {0x2CE6 , ON }, /* COPTIC SYMBOL PI RO */
  {0x2CE7 , ON }, /* COPTIC SYMBOL STAUROS */
  {0x2CE8 , ON }, /* COPTIC SYMBOL TAU RO */
  {0x2CE9 , ON }, /* COPTIC SYMBOL KHI RO */
  {0x2CEA , ON }, /* COPTIC SYMBOL SHIMA SIMA */
  {0x2CF9 , ON }, /* COPTIC OLD NUBIAN FULL STOP */
  {0x2CFA , ON }, /* COPTIC OLD NUBIAN DIRECT QUESTION MARK */
  {0x2CFB , ON }, /* COPTIC OLD NUBIAN INDIRECT QUESTION MARK */
  {0x2CFC , ON }, /* COPTIC OLD NUBIAN VERSE DIVIDER */
  {0x2CFD , ON }, /* COPTIC FRACTION ONE HALF */
  {0x2CFE , ON }, /* COPTIC FULL STOP */
  {0x2CFF , ON }, /* COPTIC MORPHOLOGICAL DIVIDER */
  {0x2D00 , L  }, /* GEORGIAN SMALL LETTER AN */
  {0x2D01 , L  }, /* GEORGIAN SMALL LETTER BAN */
  {0x2D02 , L  }, /* GEORGIAN SMALL LETTER GAN */
  {0x2D03 , L  }, /* GEORGIAN SMALL LETTER DON */
  {0x2D04 , L  }, /* GEORGIAN SMALL LETTER EN */
  {0x2D05 , L  }, /* GEORGIAN SMALL LETTER VIN */
  {0x2D06 , L  }, /* GEORGIAN SMALL LETTER ZEN */
  {0x2D07 , L  }, /* GEORGIAN SMALL LETTER TAN */
  {0x2D08 , L  }, /* GEORGIAN SMALL LETTER IN */
  {0x2D09 , L  }, /* GEORGIAN SMALL LETTER KAN */
  {0x2D0A , L  }, /* GEORGIAN SMALL LETTER LAS */
  {0x2D0B , L  }, /* GEORGIAN SMALL LETTER MAN */
  {0x2D0C , L  }, /* GEORGIAN SMALL LETTER NAR */
  {0x2D0D , L  }, /* GEORGIAN SMALL LETTER ON */
  {0x2D0E , L  }, /* GEORGIAN SMALL LETTER PAR */
  {0x2D0F , L  }, /* GEORGIAN SMALL LETTER ZHAR */
  {0x2D10 , L  }, /* GEORGIAN SMALL LETTER RAE */
  {0x2D11 , L  }, /* GEORGIAN SMALL LETTER SAN */
  {0x2D12 , L  }, /* GEORGIAN SMALL LETTER TAR */
  {0x2D13 , L  }, /* GEORGIAN SMALL LETTER UN */
  {0x2D14 , L  }, /* GEORGIAN SMALL LETTER PHAR */
  {0x2D15 , L  }, /* GEORGIAN SMALL LETTER KHAR */
  {0x2D16 , L  }, /* GEORGIAN SMALL LETTER GHAN */
  {0x2D17 , L  }, /* GEORGIAN SMALL LETTER QAR */
  {0x2D18 , L  }, /* GEORGIAN SMALL LETTER SHIN */
  {0x2D19 , L  }, /* GEORGIAN SMALL LETTER CHIN */
  {0x2D1A , L  }, /* GEORGIAN SMALL LETTER CAN */
  {0x2D1B , L  }, /* GEORGIAN SMALL LETTER JIL */
  {0x2D1C , L  }, /* GEORGIAN SMALL LETTER CIL */
  {0x2D1D , L  }, /* GEORGIAN SMALL LETTER CHAR */
  {0x2D1E , L  }, /* GEORGIAN SMALL LETTER XAN */
  {0x2D1F , L  }, /* GEORGIAN SMALL LETTER JHAN */
  {0x2D20 , L  }, /* GEORGIAN SMALL LETTER HAE */
  {0x2D21 , L  }, /* GEORGIAN SMALL LETTER HE */
  {0x2D22 , L  }, /* GEORGIAN SMALL LETTER HIE */
  {0x2D23 , L  }, /* GEORGIAN SMALL LETTER WE */
  {0x2D24 , L  }, /* GEORGIAN SMALL LETTER HAR */
  {0x2D25 , L  }, /* GEORGIAN SMALL LETTER HOE */
  {0x2D30 , L  }, /* TIFINAGH LETTER YA */
  {0x2D31 , L  }, /* TIFINAGH LETTER YAB */
  {0x2D32 , L  }, /* TIFINAGH LETTER YABH */
  {0x2D33 , L  }, /* TIFINAGH LETTER YAG */
  {0x2D34 , L  }, /* TIFINAGH LETTER YAGHH */
  {0x2D35 , L  }, /* TIFINAGH LETTER BERBER ACADEMY YAJ */
  {0x2D36 , L  }, /* TIFINAGH LETTER YAJ */
  {0x2D37 , L  }, /* TIFINAGH LETTER YAD */
  {0x2D38 , L  }, /* TIFINAGH LETTER YADH */
  {0x2D39 , L  }, /* TIFINAGH LETTER YADD */
  {0x2D3A , L  }, /* TIFINAGH LETTER YADDH */
  {0x2D3B , L  }, /* TIFINAGH LETTER YEY */
  {0x2D3C , L  }, /* TIFINAGH LETTER YAF */
  {0x2D3D , L  }, /* TIFINAGH LETTER YAK */
  {0x2D3E , L  }, /* TIFINAGH LETTER TUAREG YAK */
  {0x2D3F , L  }, /* TIFINAGH LETTER YAKHH */
  {0x2D40 , L  }, /* TIFINAGH LETTER YAH */
  {0x2D41 , L  }, /* TIFINAGH LETTER BERBER ACADEMY YAH */
  {0x2D42 , L  }, /* TIFINAGH LETTER TUAREG YAH */
  {0x2D43 , L  }, /* TIFINAGH LETTER YAHH */
  {0x2D44 , L  }, /* TIFINAGH LETTER YAA */
  {0x2D45 , L  }, /* TIFINAGH LETTER YAKH */
  {0x2D46 , L  }, /* TIFINAGH LETTER TUAREG YAKH */
  {0x2D47 , L  }, /* TIFINAGH LETTER YAQ */
  {0x2D48 , L  }, /* TIFINAGH LETTER TUAREG YAQ */
  {0x2D49 , L  }, /* TIFINAGH LETTER YI */
  {0x2D4A , L  }, /* TIFINAGH LETTER YAZH */
  {0x2D4B , L  }, /* TIFINAGH LETTER AHAGGAR YAZH */
  {0x2D4C , L  }, /* TIFINAGH LETTER TUAREG YAZH */
  {0x2D4D , L  }, /* TIFINAGH LETTER YAL */
  {0x2D4E , L  }, /* TIFINAGH LETTER YAM */
  {0x2D4F , L  }, /* TIFINAGH LETTER YAN */
  {0x2D50 , L  }, /* TIFINAGH LETTER TUAREG YAGN */
  {0x2D51 , L  }, /* TIFINAGH LETTER TUAREG YANG */
  {0x2D52 , L  }, /* TIFINAGH LETTER YAP */
  {0x2D53 , L  }, /* TIFINAGH LETTER YU */
  {0x2D54 , L  }, /* TIFINAGH LETTER YAR */
  {0x2D55 , L  }, /* TIFINAGH LETTER YARR */
  {0x2D56 , L  }, /* TIFINAGH LETTER YAGH */
  {0x2D57 , L  }, /* TIFINAGH LETTER TUAREG YAGH */
  {0x2D58 , L  }, /* TIFINAGH LETTER AYER YAGH */
  {0x2D59 , L  }, /* TIFINAGH LETTER YAS */
  {0x2D5A , L  }, /* TIFINAGH LETTER YASS */
  {0x2D5B , L  }, /* TIFINAGH LETTER YASH */
  {0x2D5C , L  }, /* TIFINAGH LETTER YAT */
  {0x2D5D , L  }, /* TIFINAGH LETTER YATH */
  {0x2D5E , L  }, /* TIFINAGH LETTER YACH */
  {0x2D5F , L  }, /* TIFINAGH LETTER YATT */
  {0x2D60 , L  }, /* TIFINAGH LETTER YAV */
  {0x2D61 , L  }, /* TIFINAGH LETTER YAW */
  {0x2D62 , L  }, /* TIFINAGH LETTER YAY */
  {0x2D63 , L  }, /* TIFINAGH LETTER YAZ */
  {0x2D64 , L  }, /* TIFINAGH LETTER TAWELLEMET YAZ */
  {0x2D65 , L  }, /* TIFINAGH LETTER YAZZ */
  {0x2D6F , L  }, /* TIFINAGH MODIFIER LETTER LABIALIZATION MARK */
  {0x2D80 , L  }, /* ETHIOPIC SYLLABLE LOA */
  {0x2D81 , L  }, /* ETHIOPIC SYLLABLE MOA */
  {0x2D82 , L  }, /* ETHIOPIC SYLLABLE ROA */
  {0x2D83 , L  }, /* ETHIOPIC SYLLABLE SOA */
  {0x2D84 , L  }, /* ETHIOPIC SYLLABLE SHOA */
  {0x2D85 , L  }, /* ETHIOPIC SYLLABLE BOA */
  {0x2D86 , L  }, /* ETHIOPIC SYLLABLE TOA */
  {0x2D87 , L  }, /* ETHIOPIC SYLLABLE COA */
  {0x2D88 , L  }, /* ETHIOPIC SYLLABLE NOA */
  {0x2D89 , L  }, /* ETHIOPIC SYLLABLE NYOA */
  {0x2D8A , L  }, /* ETHIOPIC SYLLABLE GLOTTAL OA */
  {0x2D8B , L  }, /* ETHIOPIC SYLLABLE ZOA */
  {0x2D8C , L  }, /* ETHIOPIC SYLLABLE DOA */
  {0x2D8D , L  }, /* ETHIOPIC SYLLABLE DDOA */
  {0x2D8E , L  }, /* ETHIOPIC SYLLABLE JOA */
  {0x2D8F , L  }, /* ETHIOPIC SYLLABLE THOA */
  {0x2D90 , L  }, /* ETHIOPIC SYLLABLE CHOA */
  {0x2D91 , L  }, /* ETHIOPIC SYLLABLE PHOA */
  {0x2D92 , L  }, /* ETHIOPIC SYLLABLE POA */
  {0x2D93 , L  }, /* ETHIOPIC SYLLABLE GGWA */
  {0x2D94 , L  }, /* ETHIOPIC SYLLABLE GGWI */
  {0x2D95 , L  }, /* ETHIOPIC SYLLABLE GGWEE */
  {0x2D96 , L  }, /* ETHIOPIC SYLLABLE GGWE */
  {0x2DA0 , L  }, /* ETHIOPIC SYLLABLE SSA */
  {0x2DA1 , L  }, /* ETHIOPIC SYLLABLE SSU */
  {0x2DA2 , L  }, /* ETHIOPIC SYLLABLE SSI */
  {0x2DA3 , L  }, /* ETHIOPIC SYLLABLE SSAA */
  {0x2DA4 , L  }, /* ETHIOPIC SYLLABLE SSEE */
  {0x2DA5 , L  }, /* ETHIOPIC SYLLABLE SSE */
  {0x2DA6 , L  }, /* ETHIOPIC SYLLABLE SSO */
  {0x2DA8 , L  }, /* ETHIOPIC SYLLABLE CCA */
  {0x2DA9 , L  }, /* ETHIOPIC SYLLABLE CCU */
  {0x2DAA , L  }, /* ETHIOPIC SYLLABLE CCI */
  {0x2DAB , L  }, /* ETHIOPIC SYLLABLE CCAA */
  {0x2DAC , L  }, /* ETHIOPIC SYLLABLE CCEE */
  {0x2DAD , L  }, /* ETHIOPIC SYLLABLE CCE */
  {0x2DAE , L  }, /* ETHIOPIC SYLLABLE CCO */
  {0x2DB0 , L  }, /* ETHIOPIC SYLLABLE ZZA */
  {0x2DB1 , L  }, /* ETHIOPIC SYLLABLE ZZU */
  {0x2DB2 , L  }, /* ETHIOPIC SYLLABLE ZZI */
  {0x2DB3 , L  }, /* ETHIOPIC SYLLABLE ZZAA */
  {0x2DB4 , L  }, /* ETHIOPIC SYLLABLE ZZEE */
  {0x2DB5 , L  }, /* ETHIOPIC SYLLABLE ZZE */
  {0x2DB6 , L  }, /* ETHIOPIC SYLLABLE ZZO */
  {0x2DB8 , L  }, /* ETHIOPIC SYLLABLE CCHA */
  {0x2DB9 , L  }, /* ETHIOPIC SYLLABLE CCHU */
  {0x2DBA , L  }, /* ETHIOPIC SYLLABLE CCHI */
  {0x2DBB , L  }, /* ETHIOPIC SYLLABLE CCHAA */
  {0x2DBC , L  }, /* ETHIOPIC SYLLABLE CCHEE */
  {0x2DBD , L  }, /* ETHIOPIC SYLLABLE CCHE */
  {0x2DBE , L  }, /* ETHIOPIC SYLLABLE CCHO */
  {0x2DC0 , L  }, /* ETHIOPIC SYLLABLE QYA */
  {0x2DC1 , L  }, /* ETHIOPIC SYLLABLE QYU */
  {0x2DC2 , L  }, /* ETHIOPIC SYLLABLE QYI */
  {0x2DC3 , L  }, /* ETHIOPIC SYLLABLE QYAA */
  {0x2DC4 , L  }, /* ETHIOPIC SYLLABLE QYEE */
  {0x2DC5 , L  }, /* ETHIOPIC SYLLABLE QYE */
  {0x2DC6 , L  }, /* ETHIOPIC SYLLABLE QYO */
  {0x2DC8 , L  }, /* ETHIOPIC SYLLABLE KYA */
  {0x2DC9 , L  }, /* ETHIOPIC SYLLABLE KYU */
  {0x2DCA , L  }, /* ETHIOPIC SYLLABLE KYI */
  {0x2DCB , L  }, /* ETHIOPIC SYLLABLE KYAA */
  {0x2DCC , L  }, /* ETHIOPIC SYLLABLE KYEE */
  {0x2DCD , L  }, /* ETHIOPIC SYLLABLE KYE */
  {0x2DCE , L  }, /* ETHIOPIC SYLLABLE KYO */
  {0x2DD0 , L  }, /* ETHIOPIC SYLLABLE XYA */
  {0x2DD1 , L  }, /* ETHIOPIC SYLLABLE XYU */
  {0x2DD2 , L  }, /* ETHIOPIC SYLLABLE XYI */
  {0x2DD3 , L  }, /* ETHIOPIC SYLLABLE XYAA */
  {0x2DD4 , L  }, /* ETHIOPIC SYLLABLE XYEE */
  {0x2DD5 , L  }, /* ETHIOPIC SYLLABLE XYE */
  {0x2DD6 , L  }, /* ETHIOPIC SYLLABLE XYO */
  {0x2DD8 , L  }, /* ETHIOPIC SYLLABLE GYA */
  {0x2DD9 , L  }, /* ETHIOPIC SYLLABLE GYU */
  {0x2DDA , L  }, /* ETHIOPIC SYLLABLE GYI */
  {0x2DDB , L  }, /* ETHIOPIC SYLLABLE GYAA */
  {0x2DDC , L  }, /* ETHIOPIC SYLLABLE GYEE */
  {0x2DDD , L  }, /* ETHIOPIC SYLLABLE GYE */
  {0x2DDE , L  }, /* ETHIOPIC SYLLABLE GYO */
  {0x2E00 , ON }, /* RIGHT ANGLE SUBSTITUTION MARKER */
  {0x2E01 , ON }, /* RIGHT ANGLE DOTTED SUBSTITUTION MARKER */
  {0x2E02 , ON }, /* LEFT SUBSTITUTION BRACKET */
  {0x2E03 , ON }, /* RIGHT SUBSTITUTION BRACKET */
  {0x2E04 , ON }, /* LEFT DOTTED SUBSTITUTION BRACKET */
  {0x2E05 , ON }, /* RIGHT DOTTED SUBSTITUTION BRACKET */
  {0x2E06 , ON }, /* RAISED INTERPOLATION MARKER */
  {0x2E07 , ON }, /* RAISED DOTTED INTERPOLATION MARKER */
  {0x2E08 , ON }, /* DOTTED TRANSPOSITION MARKER */
  {0x2E09 , ON }, /* LEFT TRANSPOSITION BRACKET */
  {0x2E0A , ON }, /* RIGHT TRANSPOSITION BRACKET */
  {0x2E0B , ON }, /* RAISED SQUARE */
  {0x2E0C , ON }, /* LEFT RAISED OMISSION BRACKET */
  {0x2E0D , ON }, /* RIGHT RAISED OMISSION BRACKET */
  {0x2E0E , ON }, /* EDITORIAL CORONIS */
  {0x2E0F , ON }, /* PARAGRAPHOS */
  {0x2E10 , ON }, /* FORKED PARAGRAPHOS */
  {0x2E11 , ON }, /* REVERSED FORKED PARAGRAPHOS */
  {0x2E12 , ON }, /* HYPODIASTOLE */
  {0x2E13 , ON }, /* DOTTED OBELOS */
  {0x2E14 , ON }, /* DOWNWARDS ANCORA */
  {0x2E15 , ON }, /* UPWARDS ANCORA */
  {0x2E16 , ON }, /* DOTTED RIGHT-POINTING ANGLE */
  {0x2E17 , ON }, /* DOUBLE OBLIQUE HYPHEN */
  {0x2E1C , ON }, /* LEFT LOW PARAPHRASE BRACKET */
  {0x2E1D , ON }, /* RIGHT LOW PARAPHRASE BRACKET */
  {0x2E80 , ON }, /* CJK RADICAL REPEAT */
  {0x2E81 , ON }, /* CJK RADICAL CLIFF */
  {0x2E82 , ON }, /* CJK RADICAL SECOND ONE */
  {0x2E83 , ON }, /* CJK RADICAL SECOND TWO */
  {0x2E84 , ON }, /* CJK RADICAL SECOND THREE */
  {0x2E85 , ON }, /* CJK RADICAL PERSON */
  {0x2E86 , ON }, /* CJK RADICAL BOX */
  {0x2E87 , ON }, /* CJK RADICAL TABLE */
  {0x2E88 , ON }, /* CJK RADICAL KNIFE ONE */
  {0x2E89 , ON }, /* CJK RADICAL KNIFE TWO */
  {0x2E8A , ON }, /* CJK RADICAL DIVINATION */
  {0x2E8B , ON }, /* CJK RADICAL SEAL */
  {0x2E8C , ON }, /* CJK RADICAL SMALL ONE */
  {0x2E8D , ON }, /* CJK RADICAL SMALL TWO */
  {0x2E8E , ON }, /* CJK RADICAL LAME ONE */
  {0x2E8F , ON }, /* CJK RADICAL LAME TWO */
  {0x2E90 , ON }, /* CJK RADICAL LAME THREE */
  {0x2E91 , ON }, /* CJK RADICAL LAME FOUR */
  {0x2E92 , ON }, /* CJK RADICAL SNAKE */
  {0x2E93 , ON }, /* CJK RADICAL THREAD */
  {0x2E94 , ON }, /* CJK RADICAL SNOUT ONE */
  {0x2E95 , ON }, /* CJK RADICAL SNOUT TWO */
  {0x2E96 , ON }, /* CJK RADICAL HEART ONE */
  {0x2E97 , ON }, /* CJK RADICAL HEART TWO */
  {0x2E98 , ON }, /* CJK RADICAL HAND */
  {0x2E99 , ON }, /* CJK RADICAL RAP */
  {0x2E9B , ON }, /* CJK RADICAL CHOKE */
  {0x2E9C , ON }, /* CJK RADICAL SUN */
  {0x2E9D , ON }, /* CJK RADICAL MOON */
  {0x2E9E , ON }, /* CJK RADICAL DEATH */
  {0x2E9F , ON }, /* CJK RADICAL MOTHER */
  {0x2EA0 , ON }, /* CJK RADICAL CIVILIAN */
  {0x2EA1 , ON }, /* CJK RADICAL WATER ONE */
  {0x2EA2 , ON }, /* CJK RADICAL WATER TWO */
  {0x2EA3 , ON }, /* CJK RADICAL FIRE */
  {0x2EA4 , ON }, /* CJK RADICAL PAW ONE */
  {0x2EA5 , ON }, /* CJK RADICAL PAW TWO */
  {0x2EA6 , ON }, /* CJK RADICAL SIMPLIFIED HALF TREE TRUNK */
  {0x2EA7 , ON }, /* CJK RADICAL COW */
  {0x2EA8 , ON }, /* CJK RADICAL DOG */
  {0x2EA9 , ON }, /* CJK RADICAL JADE */
  {0x2EAA , ON }, /* CJK RADICAL BOLT OF CLOTH */
  {0x2EAB , ON }, /* CJK RADICAL EYE */
  {0x2EAC , ON }, /* CJK RADICAL SPIRIT ONE */
  {0x2EAD , ON }, /* CJK RADICAL SPIRIT TWO */
  {0x2EAE , ON }, /* CJK RADICAL BAMBOO */
  {0x2EAF , ON }, /* CJK RADICAL SILK */
  {0x2EB0 , ON }, /* CJK RADICAL C-SIMPLIFIED SILK */
  {0x2EB1 , ON }, /* CJK RADICAL NET ONE */
  {0x2EB2 , ON }, /* CJK RADICAL NET TWO */
  {0x2EB3 , ON }, /* CJK RADICAL NET THREE */
  {0x2EB4 , ON }, /* CJK RADICAL NET FOUR */
  {0x2EB5 , ON }, /* CJK RADICAL MESH */
  {0x2EB6 , ON }, /* CJK RADICAL SHEEP */
  {0x2EB7 , ON }, /* CJK RADICAL RAM */
  {0x2EB8 , ON }, /* CJK RADICAL EWE */
  {0x2EB9 , ON }, /* CJK RADICAL OLD */
  {0x2EBA , ON }, /* CJK RADICAL BRUSH ONE */
  {0x2EBB , ON }, /* CJK RADICAL BRUSH TWO */
  {0x2EBC , ON }, /* CJK RADICAL MEAT */
  {0x2EBD , ON }, /* CJK RADICAL MORTAR */
  {0x2EBE , ON }, /* CJK RADICAL GRASS ONE */
  {0x2EBF , ON }, /* CJK RADICAL GRASS TWO */
  {0x2EC0 , ON }, /* CJK RADICAL GRASS THREE */
  {0x2EC1 , ON }, /* CJK RADICAL TIGER */
  {0x2EC2 , ON }, /* CJK RADICAL CLOTHES */
  {0x2EC3 , ON }, /* CJK RADICAL WEST ONE */
  {0x2EC4 , ON }, /* CJK RADICAL WEST TWO */
  {0x2EC5 , ON }, /* CJK RADICAL C-SIMPLIFIED SEE */
  {0x2EC6 , ON }, /* CJK RADICAL SIMPLIFIED HORN */
  {0x2EC7 , ON }, /* CJK RADICAL HORN */
  {0x2EC8 , ON }, /* CJK RADICAL C-SIMPLIFIED SPEECH */
  {0x2EC9 , ON }, /* CJK RADICAL C-SIMPLIFIED SHELL */
  {0x2ECA , ON }, /* CJK RADICAL FOOT */
  {0x2ECB , ON }, /* CJK RADICAL C-SIMPLIFIED CART */
  {0x2ECC , ON }, /* CJK RADICAL SIMPLIFIED WALK */
  {0x2ECD , ON }, /* CJK RADICAL WALK ONE */
  {0x2ECE , ON }, /* CJK RADICAL WALK TWO */
  {0x2ECF , ON }, /* CJK RADICAL CITY */
  {0x2ED0 , ON }, /* CJK RADICAL C-SIMPLIFIED GOLD */
  {0x2ED1 , ON }, /* CJK RADICAL LONG ONE */
  {0x2ED2 , ON }, /* CJK RADICAL LONG TWO */
  {0x2ED3 , ON }, /* CJK RADICAL C-SIMPLIFIED LONG */
  {0x2ED4 , ON }, /* CJK RADICAL C-SIMPLIFIED GATE */
  {0x2ED5 , ON }, /* CJK RADICAL MOUND ONE */
  {0x2ED6 , ON }, /* CJK RADICAL MOUND TWO */
  {0x2ED7 , ON }, /* CJK RADICAL RAIN */
  {0x2ED8 , ON }, /* CJK RADICAL BLUE */
  {0x2ED9 , ON }, /* CJK RADICAL C-SIMPLIFIED TANNED LEATHER */
  {0x2EDA , ON }, /* CJK RADICAL C-SIMPLIFIED LEAF */
  {0x2EDB , ON }, /* CJK RADICAL C-SIMPLIFIED WIND */
  {0x2EDC , ON }, /* CJK RADICAL C-SIMPLIFIED FLY */
  {0x2EDD , ON }, /* CJK RADICAL EAT ONE */
  {0x2EDE , ON }, /* CJK RADICAL EAT TWO */
  {0x2EDF , ON }, /* CJK RADICAL EAT THREE */
  {0x2EE0 , ON }, /* CJK RADICAL C-SIMPLIFIED EAT */
  {0x2EE1 , ON }, /* CJK RADICAL HEAD */
  {0x2EE2 , ON }, /* CJK RADICAL C-SIMPLIFIED HORSE */
  {0x2EE3 , ON }, /* CJK RADICAL BONE */
  {0x2EE4 , ON }, /* CJK RADICAL GHOST */
  {0x2EE5 , ON }, /* CJK RADICAL C-SIMPLIFIED FISH */
  {0x2EE6 , ON }, /* CJK RADICAL C-SIMPLIFIED BIRD */
  {0x2EE7 , ON }, /* CJK RADICAL C-SIMPLIFIED SALT */
  {0x2EE8 , ON }, /* CJK RADICAL SIMPLIFIED WHEAT */
  {0x2EE9 , ON }, /* CJK RADICAL SIMPLIFIED YELLOW */
  {0x2EEA , ON }, /* CJK RADICAL C-SIMPLIFIED FROG */
  {0x2EEB , ON }, /* CJK RADICAL J-SIMPLIFIED EVEN */
  {0x2EEC , ON }, /* CJK RADICAL C-SIMPLIFIED EVEN */
  {0x2EED , ON }, /* CJK RADICAL J-SIMPLIFIED TOOTH */
  {0x2EEE , ON }, /* CJK RADICAL C-SIMPLIFIED TOOTH */
  {0x2EEF , ON }, /* CJK RADICAL J-SIMPLIFIED DRAGON */
  {0x2EF0 , ON }, /* CJK RADICAL C-SIMPLIFIED DRAGON */
  {0x2EF1 , ON }, /* CJK RADICAL TURTLE */
  {0x2EF2 , ON }, /* CJK RADICAL J-SIMPLIFIED TURTLE */
  {0x2EF3 , ON }, /* CJK RADICAL C-SIMPLIFIED TURTLE */
  {0x2F00 , ON }, /* KANGXI RADICAL ONE */
  {0x2F01 , ON }, /* KANGXI RADICAL LINE */
  {0x2F02 , ON }, /* KANGXI RADICAL DOT */
  {0x2F03 , ON }, /* KANGXI RADICAL SLASH */
  {0x2F04 , ON }, /* KANGXI RADICAL SECOND */
  {0x2F05 , ON }, /* KANGXI RADICAL HOOK */
  {0x2F06 , ON }, /* KANGXI RADICAL TWO */
  {0x2F07 , ON }, /* KANGXI RADICAL LID */
  {0x2F08 , ON }, /* KANGXI RADICAL MAN */
  {0x2F09 , ON }, /* KANGXI RADICAL LEGS */
  {0x2F0A , ON }, /* KANGXI RADICAL ENTER */
  {0x2F0B , ON }, /* KANGXI RADICAL EIGHT */
  {0x2F0C , ON }, /* KANGXI RADICAL DOWN BOX */
  {0x2F0D , ON }, /* KANGXI RADICAL COVER */
  {0x2F0E , ON }, /* KANGXI RADICAL ICE */
  {0x2F0F , ON }, /* KANGXI RADICAL TABLE */
  {0x2F10 , ON }, /* KANGXI RADICAL OPEN BOX */
  {0x2F11 , ON }, /* KANGXI RADICAL KNIFE */
  {0x2F12 , ON }, /* KANGXI RADICAL POWER */
  {0x2F13 , ON }, /* KANGXI RADICAL WRAP */
  {0x2F14 , ON }, /* KANGXI RADICAL SPOON */
  {0x2F15 , ON }, /* KANGXI RADICAL RIGHT OPEN BOX */
  {0x2F16 , ON }, /* KANGXI RADICAL HIDING ENCLOSURE */
  {0x2F17 , ON }, /* KANGXI RADICAL TEN */
  {0x2F18 , ON }, /* KANGXI RADICAL DIVINATION */
  {0x2F19 , ON }, /* KANGXI RADICAL SEAL */
  {0x2F1A , ON }, /* KANGXI RADICAL CLIFF */
  {0x2F1B , ON }, /* KANGXI RADICAL PRIVATE */
  {0x2F1C , ON }, /* KANGXI RADICAL AGAIN */
  {0x2F1D , ON }, /* KANGXI RADICAL MOUTH */
  {0x2F1E , ON }, /* KANGXI RADICAL ENCLOSURE */
  {0x2F1F , ON }, /* KANGXI RADICAL EARTH */
  {0x2F20 , ON }, /* KANGXI RADICAL SCHOLAR */
  {0x2F21 , ON }, /* KANGXI RADICAL GO */
  {0x2F22 , ON }, /* KANGXI RADICAL GO SLOWLY */
  {0x2F23 , ON }, /* KANGXI RADICAL EVENING */
  {0x2F24 , ON }, /* KANGXI RADICAL BIG */
  {0x2F25 , ON }, /* KANGXI RADICAL WOMAN */
  {0x2F26 , ON }, /* KANGXI RADICAL CHILD */
  {0x2F27 , ON }, /* KANGXI RADICAL ROOF */
  {0x2F28 , ON }, /* KANGXI RADICAL INCH */
  {0x2F29 , ON }, /* KANGXI RADICAL SMALL */
  {0x2F2A , ON }, /* KANGXI RADICAL LAME */
  {0x2F2B , ON }, /* KANGXI RADICAL CORPSE */
  {0x2F2C , ON }, /* KANGXI RADICAL SPROUT */
  {0x2F2D , ON }, /* KANGXI RADICAL MOUNTAIN */
  {0x2F2E , ON }, /* KANGXI RADICAL RIVER */
  {0x2F2F , ON }, /* KANGXI RADICAL WORK */
  {0x2F30 , ON }, /* KANGXI RADICAL ONESELF */
  {0x2F31 , ON }, /* KANGXI RADICAL TURBAN */
  {0x2F32 , ON }, /* KANGXI RADICAL DRY */
  {0x2F33 , ON }, /* KANGXI RADICAL SHORT THREAD */
  {0x2F34 , ON }, /* KANGXI RADICAL DOTTED CLIFF */
  {0x2F35 , ON }, /* KANGXI RADICAL LONG STRIDE */
  {0x2F36 , ON }, /* KANGXI RADICAL TWO HANDS */
  {0x2F37 , ON }, /* KANGXI RADICAL SHOOT */
  {0x2F38 , ON }, /* KANGXI RADICAL BOW */
  {0x2F39 , ON }, /* KANGXI RADICAL SNOUT */
  {0x2F3A , ON }, /* KANGXI RADICAL BRISTLE */
  {0x2F3B , ON }, /* KANGXI RADICAL STEP */
  {0x2F3C , ON }, /* KANGXI RADICAL HEART */
  {0x2F3D , ON }, /* KANGXI RADICAL HALBERD */
  {0x2F3E , ON }, /* KANGXI RADICAL DOOR */
  {0x2F3F , ON }, /* KANGXI RADICAL HAND */
  {0x2F40 , ON }, /* KANGXI RADICAL BRANCH */
  {0x2F41 , ON }, /* KANGXI RADICAL RAP */
  {0x2F42 , ON }, /* KANGXI RADICAL SCRIPT */
  {0x2F43 , ON }, /* KANGXI RADICAL DIPPER */
  {0x2F44 , ON }, /* KANGXI RADICAL AXE */
  {0x2F45 , ON }, /* KANGXI RADICAL SQUARE */
  {0x2F46 , ON }, /* KANGXI RADICAL NOT */
  {0x2F47 , ON }, /* KANGXI RADICAL SUN */
  {0x2F48 , ON }, /* KANGXI RADICAL SAY */
  {0x2F49 , ON }, /* KANGXI RADICAL MOON */
  {0x2F4A , ON }, /* KANGXI RADICAL TREE */
  {0x2F4B , ON }, /* KANGXI RADICAL LACK */
  {0x2F4C , ON }, /* KANGXI RADICAL STOP */
  {0x2F4D , ON }, /* KANGXI RADICAL DEATH */
  {0x2F4E , ON }, /* KANGXI RADICAL WEAPON */
  {0x2F4F , ON }, /* KANGXI RADICAL DO NOT */
  {0x2F50 , ON }, /* KANGXI RADICAL COMPARE */
  {0x2F51 , ON }, /* KANGXI RADICAL FUR */
  {0x2F52 , ON }, /* KANGXI RADICAL CLAN */
  {0x2F53 , ON }, /* KANGXI RADICAL STEAM */
  {0x2F54 , ON }, /* KANGXI RADICAL WATER */
  {0x2F55 , ON }, /* KANGXI RADICAL FIRE */
  {0x2F56 , ON }, /* KANGXI RADICAL CLAW */
  {0x2F57 , ON }, /* KANGXI RADICAL FATHER */
  {0x2F58 , ON }, /* KANGXI RADICAL DOUBLE X */
  {0x2F59 , ON }, /* KANGXI RADICAL HALF TREE TRUNK */
  {0x2F5A , ON }, /* KANGXI RADICAL SLICE */
  {0x2F5B , ON }, /* KANGXI RADICAL FANG */
  {0x2F5C , ON }, /* KANGXI RADICAL COW */
  {0x2F5D , ON }, /* KANGXI RADICAL DOG */
  {0x2F5E , ON }, /* KANGXI RADICAL PROFOUND */
  {0x2F5F , ON }, /* KANGXI RADICAL JADE */
  {0x2F60 , ON }, /* KANGXI RADICAL MELON */
  {0x2F61 , ON }, /* KANGXI RADICAL TILE */
  {0x2F62 , ON }, /* KANGXI RADICAL SWEET */
  {0x2F63 , ON }, /* KANGXI RADICAL LIFE */
  {0x2F64 , ON }, /* KANGXI RADICAL USE */
  {0x2F65 , ON }, /* KANGXI RADICAL FIELD */
  {0x2F66 , ON }, /* KANGXI RADICAL BOLT OF CLOTH */
  {0x2F67 , ON }, /* KANGXI RADICAL SICKNESS */
  {0x2F68 , ON }, /* KANGXI RADICAL DOTTED TENT */
  {0x2F69 , ON }, /* KANGXI RADICAL WHITE */
  {0x2F6A , ON }, /* KANGXI RADICAL SKIN */
  {0x2F6B , ON }, /* KANGXI RADICAL DISH */
  {0x2F6C , ON }, /* KANGXI RADICAL EYE */
  {0x2F6D , ON }, /* KANGXI RADICAL SPEAR */
  {0x2F6E , ON }, /* KANGXI RADICAL ARROW */
  {0x2F6F , ON }, /* KANGXI RADICAL STONE */
  {0x2F70 , ON }, /* KANGXI RADICAL SPIRIT */
  {0x2F71 , ON }, /* KANGXI RADICAL TRACK */
  {0x2F72 , ON }, /* KANGXI RADICAL GRAIN */
  {0x2F73 , ON }, /* KANGXI RADICAL CAVE */
  {0x2F74 , ON }, /* KANGXI RADICAL STAND */
  {0x2F75 , ON }, /* KANGXI RADICAL BAMBOO */
  {0x2F76 , ON }, /* KANGXI RADICAL RICE */
  {0x2F77 , ON }, /* KANGXI RADICAL SILK */
  {0x2F78 , ON }, /* KANGXI RADICAL JAR */
  {0x2F79 , ON }, /* KANGXI RADICAL NET */
  {0x2F7A , ON }, /* KANGXI RADICAL SHEEP */
  {0x2F7B , ON }, /* KANGXI RADICAL FEATHER */
  {0x2F7C , ON }, /* KANGXI RADICAL OLD */
  {0x2F7D , ON }, /* KANGXI RADICAL AND */
  {0x2F7E , ON }, /* KANGXI RADICAL PLOW */
  {0x2F7F , ON }, /* KANGXI RADICAL EAR */
  {0x2F80 , ON }, /* KANGXI RADICAL BRUSH */
  {0x2F81 , ON }, /* KANGXI RADICAL MEAT */
  {0x2F82 , ON }, /* KANGXI RADICAL MINISTER */
  {0x2F83 , ON }, /* KANGXI RADICAL SELF */
  {0x2F84 , ON }, /* KANGXI RADICAL ARRIVE */
  {0x2F85 , ON }, /* KANGXI RADICAL MORTAR */
  {0x2F86 , ON }, /* KANGXI RADICAL TONGUE */
  {0x2F87 , ON }, /* KANGXI RADICAL OPPOSE */
  {0x2F88 , ON }, /* KANGXI RADICAL BOAT */
  {0x2F89 , ON }, /* KANGXI RADICAL STOPPING */
  {0x2F8A , ON }, /* KANGXI RADICAL COLOR */
  {0x2F8B , ON }, /* KANGXI RADICAL GRASS */
  {0x2F8C , ON }, /* KANGXI RADICAL TIGER */
  {0x2F8D , ON }, /* KANGXI RADICAL INSECT */
  {0x2F8E , ON }, /* KANGXI RADICAL BLOOD */
  {0x2F8F , ON }, /* KANGXI RADICAL WALK ENCLOSURE */
  {0x2F90 , ON }, /* KANGXI RADICAL CLOTHES */
  {0x2F91 , ON }, /* KANGXI RADICAL WEST */
  {0x2F92 , ON }, /* KANGXI RADICAL SEE */
  {0x2F93 , ON }, /* KANGXI RADICAL HORN */
  {0x2F94 , ON }, /* KANGXI RADICAL SPEECH */
  {0x2F95 , ON }, /* KANGXI RADICAL VALLEY */
  {0x2F96 , ON }, /* KANGXI RADICAL BEAN */
  {0x2F97 , ON }, /* KANGXI RADICAL PIG */
  {0x2F98 , ON }, /* KANGXI RADICAL BADGER */
  {0x2F99 , ON }, /* KANGXI RADICAL SHELL */
  {0x2F9A , ON }, /* KANGXI RADICAL RED */
  {0x2F9B , ON }, /* KANGXI RADICAL RUN */
  {0x2F9C , ON }, /* KANGXI RADICAL FOOT */
  {0x2F9D , ON }, /* KANGXI RADICAL BODY */
  {0x2F9E , ON }, /* KANGXI RADICAL CART */
  {0x2F9F , ON }, /* KANGXI RADICAL BITTER */
  {0x2FA0 , ON }, /* KANGXI RADICAL MORNING */
  {0x2FA1 , ON }, /* KANGXI RADICAL WALK */
  {0x2FA2 , ON }, /* KANGXI RADICAL CITY */
  {0x2FA3 , ON }, /* KANGXI RADICAL WINE */
  {0x2FA4 , ON }, /* KANGXI RADICAL DISTINGUISH */
  {0x2FA5 , ON }, /* KANGXI RADICAL VILLAGE */
  {0x2FA6 , ON }, /* KANGXI RADICAL GOLD */
  {0x2FA7 , ON }, /* KANGXI RADICAL LONG */
  {0x2FA8 , ON }, /* KANGXI RADICAL GATE */
  {0x2FA9 , ON }, /* KANGXI RADICAL MOUND */
  {0x2FAA , ON }, /* KANGXI RADICAL SLAVE */
  {0x2FAB , ON }, /* KANGXI RADICAL SHORT TAILED BIRD */
  {0x2FAC , ON }, /* KANGXI RADICAL RAIN */
  {0x2FAD , ON }, /* KANGXI RADICAL BLUE */
  {0x2FAE , ON }, /* KANGXI RADICAL WRONG */
  {0x2FAF , ON }, /* KANGXI RADICAL FACE */
  {0x2FB0 , ON }, /* KANGXI RADICAL LEATHER */
  {0x2FB1 , ON }, /* KANGXI RADICAL TANNED LEATHER */
  {0x2FB2 , ON }, /* KANGXI RADICAL LEEK */
  {0x2FB3 , ON }, /* KANGXI RADICAL SOUND */
  {0x2FB4 , ON }, /* KANGXI RADICAL LEAF */
  {0x2FB5 , ON }, /* KANGXI RADICAL WIND */
  {0x2FB6 , ON }, /* KANGXI RADICAL FLY */
  {0x2FB7 , ON }, /* KANGXI RADICAL EAT */
  {0x2FB8 , ON }, /* KANGXI RADICAL HEAD */
  {0x2FB9 , ON }, /* KANGXI RADICAL FRAGRANT */
  {0x2FBA , ON }, /* KANGXI RADICAL HORSE */
  {0x2FBB , ON }, /* KANGXI RADICAL BONE */
  {0x2FBC , ON }, /* KANGXI RADICAL TALL */
  {0x2FBD , ON }, /* KANGXI RADICAL HAIR */
  {0x2FBE , ON }, /* KANGXI RADICAL FIGHT */
  {0x2FBF , ON }, /* KANGXI RADICAL SACRIFICIAL WINE */
  {0x2FC0 , ON }, /* KANGXI RADICAL CAULDRON */
  {0x2FC1 , ON }, /* KANGXI RADICAL GHOST */
  {0x2FC2 , ON }, /* KANGXI RADICAL FISH */
  {0x2FC3 , ON }, /* KANGXI RADICAL BIRD */
  {0x2FC4 , ON }, /* KANGXI RADICAL SALT */
  {0x2FC5 , ON }, /* KANGXI RADICAL DEER */
  {0x2FC6 , ON }, /* KANGXI RADICAL WHEAT */
  {0x2FC7 , ON }, /* KANGXI RADICAL HEMP */
  {0x2FC8 , ON }, /* KANGXI RADICAL YELLOW */
  {0x2FC9 , ON }, /* KANGXI RADICAL MILLET */
  {0x2FCA , ON }, /* KANGXI RADICAL BLACK */
  {0x2FCB , ON }, /* KANGXI RADICAL EMBROIDERY */
  {0x2FCC , ON }, /* KANGXI RADICAL FROG */
  {0x2FCD , ON }, /* KANGXI RADICAL TRIPOD */
  {0x2FCE , ON }, /* KANGXI RADICAL DRUM */
  {0x2FCF , ON }, /* KANGXI RADICAL RAT */
  {0x2FD0 , ON }, /* KANGXI RADICAL NOSE */
  {0x2FD1 , ON }, /* KANGXI RADICAL EVEN */
  {0x2FD2 , ON }, /* KANGXI RADICAL TOOTH */
  {0x2FD3 , ON }, /* KANGXI RADICAL DRAGON */
  {0x2FD4 , ON }, /* KANGXI RADICAL TURTLE */
  {0x2FD5 , ON }, /* KANGXI RADICAL FLUTE */
  {0x2FF0 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT */
  {0x2FF1 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW */
  {0x2FF2 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT */
  {0x2FF3 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW */
  {0x2FF4 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND */
  {0x2FF5 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE */
  {0x2FF6 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW */
  {0x2FF7 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT */
  {0x2FF8 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT */
  {0x2FF9 , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT */
  {0x2FFA , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT */
  {0x2FFB , ON }, /* IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID */
  {0x3000 , WS }, /* IDEOGRAPHIC SPACE */
  {0x3001 , ON }, /* IDEOGRAPHIC COMMA */
  {0x3002 , ON }, /* IDEOGRAPHIC FULL STOP */
  {0x3003 , ON }, /* DITTO MARK */
  {0x3004 , ON }, /* JAPANESE INDUSTRIAL STANDARD SYMBOL */
  {0x3005 , L  }, /* IDEOGRAPHIC ITERATION MARK */
  {0x3006 , L  }, /* IDEOGRAPHIC CLOSING MARK */
  {0x3007 , L  }, /* IDEOGRAPHIC NUMBER ZERO */
  {0x3008 , ON }, /* LEFT ANGLE BRACKET */
  {0x3009 , ON }, /* RIGHT ANGLE BRACKET */
  {0x300A , ON }, /* LEFT DOUBLE ANGLE BRACKET */
  {0x300B , ON }, /* RIGHT DOUBLE ANGLE BRACKET */
  {0x300C , ON }, /* LEFT CORNER BRACKET */
  {0x300D , ON }, /* RIGHT CORNER BRACKET */
  {0x300E , ON }, /* LEFT WHITE CORNER BRACKET */
  {0x300F , ON }, /* RIGHT WHITE CORNER BRACKET */
  {0x3010 , ON }, /* LEFT BLACK LENTICULAR BRACKET */
  {0x3011 , ON }, /* RIGHT BLACK LENTICULAR BRACKET */
  {0x3012 , ON }, /* POSTAL MARK */
  {0x3013 , ON }, /* GETA MARK */
  {0x3014 , ON }, /* LEFT TORTOISE SHELL BRACKET */
  {0x3015 , ON }, /* RIGHT TORTOISE SHELL BRACKET */
  {0x3016 , ON }, /* LEFT WHITE LENTICULAR BRACKET */
  {0x3017 , ON }, /* RIGHT WHITE LENTICULAR BRACKET */
  {0x3018 , ON }, /* LEFT WHITE TORTOISE SHELL BRACKET */
  {0x3019 , ON }, /* RIGHT WHITE TORTOISE SHELL BRACKET */
  {0x301A , ON }, /* LEFT WHITE SQUARE BRACKET */
  {0x301B , ON }, /* RIGHT WHITE SQUARE BRACKET */
  {0x301C , ON }, /* WAVE DASH */
  {0x301D , ON }, /* REVERSED DOUBLE PRIME QUOTATION MARK */
  {0x301E , ON }, /* DOUBLE PRIME QUOTATION MARK */
  {0x301F , ON }, /* LOW DOUBLE PRIME QUOTATION MARK */
  {0x3020 , ON }, /* POSTAL MARK FACE */
  {0x3021 , L  }, /* HANGZHOU NUMERAL ONE */
  {0x3022 , L  }, /* HANGZHOU NUMERAL TWO */
  {0x3023 , L  }, /* HANGZHOU NUMERAL THREE */
  {0x3024 , L  }, /* HANGZHOU NUMERAL FOUR */
  {0x3025 , L  }, /* HANGZHOU NUMERAL FIVE */
  {0x3026 , L  }, /* HANGZHOU NUMERAL SIX */
  {0x3027 , L  }, /* HANGZHOU NUMERAL SEVEN */
  {0x3028 , L  }, /* HANGZHOU NUMERAL EIGHT */
  {0x3029 , L  }, /* HANGZHOU NUMERAL NINE */
  {0x302A , NSM}, /* IDEOGRAPHIC LEVEL TONE MARK */
  {0x302B , NSM}, /* IDEOGRAPHIC RISING TONE MARK */
  {0x302C , NSM}, /* IDEOGRAPHIC DEPARTING TONE MARK */
  {0x302D , NSM}, /* IDEOGRAPHIC ENTERING TONE MARK */
  {0x302E , NSM}, /* HANGUL SINGLE DOT TONE MARK */
  {0x302F , NSM}, /* HANGUL DOUBLE DOT TONE MARK */
  {0x3030 , ON }, /* WAVY DASH */
  {0x3031 , L  }, /* VERTICAL KANA REPEAT MARK */
  {0x3032 , L  }, /* VERTICAL KANA REPEAT WITH VOICED SOUND MARK */
  {0x3033 , L  }, /* VERTICAL KANA REPEAT MARK UPPER HALF */
  {0x3034 , L  }, /* VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF */
  {0x3035 , L  }, /* VERTICAL KANA REPEAT MARK LOWER HALF */
  {0x3036 , ON }, /* CIRCLED POSTAL MARK */
  {0x3037 , ON }, /* IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL */
  {0x3038 , L  }, /* HANGZHOU NUMERAL TEN */
  {0x3039 , L  }, /* HANGZHOU NUMERAL TWENTY */
  {0x303A , L  }, /* HANGZHOU NUMERAL THIRTY */
  {0x303B , L  }, /* VERTICAL IDEOGRAPHIC ITERATION MARK */
  {0x303C , L  }, /* MASU MARK */
  {0x303D , ON }, /* PART ALTERNATION MARK */
  {0x303E , ON }, /* IDEOGRAPHIC VARIATION INDICATOR */
  {0x303F , ON }, /* IDEOGRAPHIC HALF FILL SPACE */
  {0x3041 , L  }, /* HIRAGANA LETTER SMALL A */
  {0x3042 , L  }, /* HIRAGANA LETTER A */
  {0x3043 , L  }, /* HIRAGANA LETTER SMALL I */
  {0x3044 , L  }, /* HIRAGANA LETTER I */
  {0x3045 , L  }, /* HIRAGANA LETTER SMALL U */
  {0x3046 , L  }, /* HIRAGANA LETTER U */
  {0x3047 , L  }, /* HIRAGANA LETTER SMALL E */
  {0x3048 , L  }, /* HIRAGANA LETTER E */
  {0x3049 , L  }, /* HIRAGANA LETTER SMALL O */
  {0x304A , L  }, /* HIRAGANA LETTER O */
  {0x304B , L  }, /* HIRAGANA LETTER KA */
  {0x304C , L  }, /* HIRAGANA LETTER GA */
  {0x304D , L  }, /* HIRAGANA LETTER KI */
  {0x304E , L  }, /* HIRAGANA LETTER GI */
  {0x304F , L  }, /* HIRAGANA LETTER KU */
  {0x3050 , L  }, /* HIRAGANA LETTER GU */
  {0x3051 , L  }, /* HIRAGANA LETTER KE */
  {0x3052 , L  }, /* HIRAGANA LETTER GE */
  {0x3053 , L  }, /* HIRAGANA LETTER KO */
  {0x3054 , L  }, /* HIRAGANA LETTER GO */
  {0x3055 , L  }, /* HIRAGANA LETTER SA */
  {0x3056 , L  }, /* HIRAGANA LETTER ZA */
  {0x3057 , L  }, /* HIRAGANA LETTER SI */
  {0x3058 , L  }, /* HIRAGANA LETTER ZI */
  {0x3059 , L  }, /* HIRAGANA LETTER SU */
  {0x305A , L  }, /* HIRAGANA LETTER ZU */
  {0x305B , L  }, /* HIRAGANA LETTER SE */
  {0x305C , L  }, /* HIRAGANA LETTER ZE */
  {0x305D , L  }, /* HIRAGANA LETTER SO */
  {0x305E , L  }, /* HIRAGANA LETTER ZO */
  {0x305F , L  }, /* HIRAGANA LETTER TA */
  {0x3060 , L  }, /* HIRAGANA LETTER DA */
  {0x3061 , L  }, /* HIRAGANA LETTER TI */
  {0x3062 , L  }, /* HIRAGANA LETTER DI */
  {0x3063 , L  }, /* HIRAGANA LETTER SMALL TU */
  {0x3064 , L  }, /* HIRAGANA LETTER TU */
  {0x3065 , L  }, /* HIRAGANA LETTER DU */
  {0x3066 , L  }, /* HIRAGANA LETTER TE */
  {0x3067 , L  }, /* HIRAGANA LETTER DE */
  {0x3068 , L  }, /* HIRAGANA LETTER TO */
  {0x3069 , L  }, /* HIRAGANA LETTER DO */
  {0x306A , L  }, /* HIRAGANA LETTER NA */
  {0x306B , L  }, /* HIRAGANA LETTER NI */
  {0x306C , L  }, /* HIRAGANA LETTER NU */
  {0x306D , L  }, /* HIRAGANA LETTER NE */
  {0x306E , L  }, /* HIRAGANA LETTER NO */
  {0x306F , L  }, /* HIRAGANA LETTER HA */
  {0x3070 , L  }, /* HIRAGANA LETTER BA */
  {0x3071 , L  }, /* HIRAGANA LETTER PA */
  {0x3072 , L  }, /* HIRAGANA LETTER HI */
  {0x3073 , L  }, /* HIRAGANA LETTER BI */
  {0x3074 , L  }, /* HIRAGANA LETTER PI */
  {0x3075 , L  }, /* HIRAGANA LETTER HU */
  {0x3076 , L  }, /* HIRAGANA LETTER BU */
  {0x3077 , L  }, /* HIRAGANA LETTER PU */
  {0x3078 , L  }, /* HIRAGANA LETTER HE */
  {0x3079 , L  }, /* HIRAGANA LETTER BE */
  {0x307A , L  }, /* HIRAGANA LETTER PE */
  {0x307B , L  }, /* HIRAGANA LETTER HO */
  {0x307C , L  }, /* HIRAGANA LETTER BO */
  {0x307D , L  }, /* HIRAGANA LETTER PO */
  {0x307E , L  }, /* HIRAGANA LETTER MA */
  {0x307F , L  }, /* HIRAGANA LETTER MI */
  {0x3080 , L  }, /* HIRAGANA LETTER MU */
  {0x3081 , L  }, /* HIRAGANA LETTER ME */
  {0x3082 , L  }, /* HIRAGANA LETTER MO */
  {0x3083 , L  }, /* HIRAGANA LETTER SMALL YA */
  {0x3084 , L  }, /* HIRAGANA LETTER YA */
  {0x3085 , L  }, /* HIRAGANA LETTER SMALL YU */
  {0x3086 , L  }, /* HIRAGANA LETTER YU */
  {0x3087 , L  }, /* HIRAGANA LETTER SMALL YO */
  {0x3088 , L  }, /* HIRAGANA LETTER YO */
  {0x3089 , L  }, /* HIRAGANA LETTER RA */
  {0x308A , L  }, /* HIRAGANA LETTER RI */
  {0x308B , L  }, /* HIRAGANA LETTER RU */
  {0x308C , L  }, /* HIRAGANA LETTER RE */
  {0x308D , L  }, /* HIRAGANA LETTER RO */
  {0x308E , L  }, /* HIRAGANA LETTER SMALL WA */
  {0x308F , L  }, /* HIRAGANA LETTER WA */
  {0x3090 , L  }, /* HIRAGANA LETTER WI */
  {0x3091 , L  }, /* HIRAGANA LETTER WE */
  {0x3092 , L  }, /* HIRAGANA LETTER WO */
  {0x3093 , L  }, /* HIRAGANA LETTER N */
  {0x3094 , L  }, /* HIRAGANA LETTER VU */
  {0x3095 , L  }, /* HIRAGANA LETTER SMALL KA */
  {0x3096 , L  }, /* HIRAGANA LETTER SMALL KE */
  {0x3099 , NSM}, /* COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK */
  {0x309A , NSM}, /* COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
  {0x309B , ON }, /* KATAKANA-HIRAGANA VOICED SOUND MARK */
  {0x309C , ON }, /* KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
  {0x309D , L  }, /* HIRAGANA ITERATION MARK */
  {0x309E , L  }, /* HIRAGANA VOICED ITERATION MARK */
  {0x309F , L  }, /* HIRAGANA DIGRAPH YORI */
  {0x30A0 , ON }, /* KATAKANA-HIRAGANA DOUBLE HYPHEN */
  {0x30A1 , L  }, /* KATAKANA LETTER SMALL A */
  {0x30A2 , L  }, /* KATAKANA LETTER A */
  {0x30A3 , L  }, /* KATAKANA LETTER SMALL I */
  {0x30A4 , L  }, /* KATAKANA LETTER I */
  {0x30A5 , L  }, /* KATAKANA LETTER SMALL U */
  {0x30A6 , L  }, /* KATAKANA LETTER U */
  {0x30A7 , L  }, /* KATAKANA LETTER SMALL E */
  {0x30A8 , L  }, /* KATAKANA LETTER E */
  {0x30A9 , L  }, /* KATAKANA LETTER SMALL O */
  {0x30AA , L  }, /* KATAKANA LETTER O */
  {0x30AB , L  }, /* KATAKANA LETTER KA */
  {0x30AC , L  }, /* KATAKANA LETTER GA */
  {0x30AD , L  }, /* KATAKANA LETTER KI */
  {0x30AE , L  }, /* KATAKANA LETTER GI */
  {0x30AF , L  }, /* KATAKANA LETTER KU */
  {0x30B0 , L  }, /* KATAKANA LETTER GU */
  {0x30B1 , L  }, /* KATAKANA LETTER KE */
  {0x30B2 , L  }, /* KATAKANA LETTER GE */
  {0x30B3 , L  }, /* KATAKANA LETTER KO */
  {0x30B4 , L  }, /* KATAKANA LETTER GO */
  {0x30B5 , L  }, /* KATAKANA LETTER SA */
  {0x30B6 , L  }, /* KATAKANA LETTER ZA */
  {0x30B7 , L  }, /* KATAKANA LETTER SI */
  {0x30B8 , L  }, /* KATAKANA LETTER ZI */
  {0x30B9 , L  }, /* KATAKANA LETTER SU */
  {0x30BA , L  }, /* KATAKANA LETTER ZU */
  {0x30BB , L  }, /* KATAKANA LETTER SE */
  {0x30BC , L  }, /* KATAKANA LETTER ZE */
  {0x30BD , L  }, /* KATAKANA LETTER SO */
  {0x30BE , L  }, /* KATAKANA LETTER ZO */
  {0x30BF , L  }, /* KATAKANA LETTER TA */
  {0x30C0 , L  }, /* KATAKANA LETTER DA */
  {0x30C1 , L  }, /* KATAKANA LETTER TI */
  {0x30C2 , L  }, /* KATAKANA LETTER DI */
  {0x30C3 , L  }, /* KATAKANA LETTER SMALL TU */
  {0x30C4 , L  }, /* KATAKANA LETTER TU */
  {0x30C5 , L  }, /* KATAKANA LETTER DU */
  {0x30C6 , L  }, /* KATAKANA LETTER TE */
  {0x30C7 , L  }, /* KATAKANA LETTER DE */
  {0x30C8 , L  }, /* KATAKANA LETTER TO */
  {0x30C9 , L  }, /* KATAKANA LETTER DO */
  {0x30CA , L  }, /* KATAKANA LETTER NA */
  {0x30CB , L  }, /* KATAKANA LETTER NI */
  {0x30CC , L  }, /* KATAKANA LETTER NU */
  {0x30CD , L  }, /* KATAKANA LETTER NE */
  {0x30CE , L  }, /* KATAKANA LETTER NO */
  {0x30CF , L  }, /* KATAKANA LETTER HA */
  {0x30D0 , L  }, /* KATAKANA LETTER BA */
  {0x30D1 , L  }, /* KATAKANA LETTER PA */
  {0x30D2 , L  }, /* KATAKANA LETTER HI */
  {0x30D3 , L  }, /* KATAKANA LETTER BI */
  {0x30D4 , L  }, /* KATAKANA LETTER PI */
  {0x30D5 , L  }, /* KATAKANA LETTER HU */
  {0x30D6 , L  }, /* KATAKANA LETTER BU */
  {0x30D7 , L  }, /* KATAKANA LETTER PU */
  {0x30D8 , L  }, /* KATAKANA LETTER HE */
  {0x30D9 , L  }, /* KATAKANA LETTER BE */
  {0x30DA , L  }, /* KATAKANA LETTER PE */
  {0x30DB , L  }, /* KATAKANA LETTER HO */
  {0x30DC , L  }, /* KATAKANA LETTER BO */
  {0x30DD , L  }, /* KATAKANA LETTER PO */
  {0x30DE , L  }, /* KATAKANA LETTER MA */
  {0x30DF , L  }, /* KATAKANA LETTER MI */
  {0x30E0 , L  }, /* KATAKANA LETTER MU */
  {0x30E1 , L  }, /* KATAKANA LETTER ME */
  {0x30E2 , L  }, /* KATAKANA LETTER MO */
  {0x30E3 , L  }, /* KATAKANA LETTER SMALL YA */
  {0x30E4 , L  }, /* KATAKANA LETTER YA */
  {0x30E5 , L  }, /* KATAKANA LETTER SMALL YU */
  {0x30E6 , L  }, /* KATAKANA LETTER YU */
  {0x30E7 , L  }, /* KATAKANA LETTER SMALL YO */
  {0x30E8 , L  }, /* KATAKANA LETTER YO */
  {0x30E9 , L  }, /* KATAKANA LETTER RA */
  {0x30EA , L  }, /* KATAKANA LETTER RI */
  {0x30EB , L  }, /* KATAKANA LETTER RU */
  {0x30EC , L  }, /* KATAKANA LETTER RE */
  {0x30ED , L  }, /* KATAKANA LETTER RO */
  {0x30EE , L  }, /* KATAKANA LETTER SMALL WA */
  {0x30EF , L  }, /* KATAKANA LETTER WA */
  {0x30F0 , L  }, /* KATAKANA LETTER WI */
  {0x30F1 , L  }, /* KATAKANA LETTER WE */
  {0x30F2 , L  }, /* KATAKANA LETTER WO */
  {0x30F3 , L  }, /* KATAKANA LETTER N */
  {0x30F4 , L  }, /* KATAKANA LETTER VU */
  {0x30F5 , L  }, /* KATAKANA LETTER SMALL KA */
  {0x30F6 , L  }, /* KATAKANA LETTER SMALL KE */
  {0x30F7 , L  }, /* KATAKANA LETTER VA */
  {0x30F8 , L  }, /* KATAKANA LETTER VI */
  {0x30F9 , L  }, /* KATAKANA LETTER VE */
  {0x30FA , L  }, /* KATAKANA LETTER VO */
  {0x30FB , ON }, /* KATAKANA MIDDLE DOT */
  {0x30FC , L  }, /* KATAKANA-HIRAGANA PROLONGED SOUND MARK */
  {0x30FD , L  }, /* KATAKANA ITERATION MARK */
  {0x30FE , L  }, /* KATAKANA VOICED ITERATION MARK */
  {0x30FF , L  }, /* KATAKANA DIGRAPH KOTO */
  {0x3105 , L  }, /* BOPOMOFO LETTER B */
  {0x3106 , L  }, /* BOPOMOFO LETTER P */
  {0x3107 , L  }, /* BOPOMOFO LETTER M */
  {0x3108 , L  }, /* BOPOMOFO LETTER F */
  {0x3109 , L  }, /* BOPOMOFO LETTER D */
  {0x310A , L  }, /* BOPOMOFO LETTER T */
  {0x310B , L  }, /* BOPOMOFO LETTER N */
  {0x310C , L  }, /* BOPOMOFO LETTER L */
  {0x310D , L  }, /* BOPOMOFO LETTER G */
  {0x310E , L  }, /* BOPOMOFO LETTER K */
  {0x310F , L  }, /* BOPOMOFO LETTER H */
  {0x3110 , L  }, /* BOPOMOFO LETTER J */
  {0x3111 , L  }, /* BOPOMOFO LETTER Q */
  {0x3112 , L  }, /* BOPOMOFO LETTER X */
  {0x3113 , L  }, /* BOPOMOFO LETTER ZH */
  {0x3114 , L  }, /* BOPOMOFO LETTER CH */
  {0x3115 , L  }, /* BOPOMOFO LETTER SH */
  {0x3116 , L  }, /* BOPOMOFO LETTER R */
  {0x3117 , L  }, /* BOPOMOFO LETTER Z */
  {0x3118 , L  }, /* BOPOMOFO LETTER C */
  {0x3119 , L  }, /* BOPOMOFO LETTER S */
  {0x311A , L  }, /* BOPOMOFO LETTER A */
  {0x311B , L  }, /* BOPOMOFO LETTER O */
  {0x311C , L  }, /* BOPOMOFO LETTER E */
  {0x311D , L  }, /* BOPOMOFO LETTER EH */
  {0x311E , L  }, /* BOPOMOFO LETTER AI */
  {0x311F , L  }, /* BOPOMOFO LETTER EI */
  {0x3120 , L  }, /* BOPOMOFO LETTER AU */
  {0x3121 , L  }, /* BOPOMOFO LETTER OU */
  {0x3122 , L  }, /* BOPOMOFO LETTER AN */
  {0x3123 , L  }, /* BOPOMOFO LETTER EN */
  {0x3124 , L  }, /* BOPOMOFO LETTER ANG */
  {0x3125 , L  }, /* BOPOMOFO LETTER ENG */
  {0x3126 , L  }, /* BOPOMOFO LETTER ER */
  {0x3127 , L  }, /* BOPOMOFO LETTER I */
  {0x3128 , L  }, /* BOPOMOFO LETTER U */
  {0x3129 , L  }, /* BOPOMOFO LETTER IU */
  {0x312A , L  }, /* BOPOMOFO LETTER V */
  {0x312B , L  }, /* BOPOMOFO LETTER NG */
  {0x312C , L  }, /* BOPOMOFO LETTER GN */
  {0x3131 , L  }, /* HANGUL LETTER KIYEOK */
  {0x3132 , L  }, /* HANGUL LETTER SSANGKIYEOK */
  {0x3133 , L  }, /* HANGUL LETTER KIYEOK-SIOS */
  {0x3134 , L  }, /* HANGUL LETTER NIEUN */
  {0x3135 , L  }, /* HANGUL LETTER NIEUN-CIEUC */
  {0x3136 , L  }, /* HANGUL LETTER NIEUN-HIEUH */
  {0x3137 , L  }, /* HANGUL LETTER TIKEUT */
  {0x3138 , L  }, /* HANGUL LETTER SSANGTIKEUT */
  {0x3139 , L  }, /* HANGUL LETTER RIEUL */
  {0x313A , L  }, /* HANGUL LETTER RIEUL-KIYEOK */
  {0x313B , L  }, /* HANGUL LETTER RIEUL-MIEUM */
  {0x313C , L  }, /* HANGUL LETTER RIEUL-PIEUP */
  {0x313D , L  }, /* HANGUL LETTER RIEUL-SIOS */
  {0x313E , L  }, /* HANGUL LETTER RIEUL-THIEUTH */
  {0x313F , L  }, /* HANGUL LETTER RIEUL-PHIEUPH */
  {0x3140 , L  }, /* HANGUL LETTER RIEUL-HIEUH */
  {0x3141 , L  }, /* HANGUL LETTER MIEUM */
  {0x3142 , L  }, /* HANGUL LETTER PIEUP */
  {0x3143 , L  }, /* HANGUL LETTER SSANGPIEUP */
  {0x3144 , L  }, /* HANGUL LETTER PIEUP-SIOS */
  {0x3145 , L  }, /* HANGUL LETTER SIOS */
  {0x3146 , L  }, /* HANGUL LETTER SSANGSIOS */
  {0x3147 , L  }, /* HANGUL LETTER IEUNG */
  {0x3148 , L  }, /* HANGUL LETTER CIEUC */
  {0x3149 , L  }, /* HANGUL LETTER SSANGCIEUC */
  {0x314A , L  }, /* HANGUL LETTER CHIEUCH */
  {0x314B , L  }, /* HANGUL LETTER KHIEUKH */
  {0x314C , L  }, /* HANGUL LETTER THIEUTH */
  {0x314D , L  }, /* HANGUL LETTER PHIEUPH */
  {0x314E , L  }, /* HANGUL LETTER HIEUH */
  {0x314F , L  }, /* HANGUL LETTER A */
  {0x3150 , L  }, /* HANGUL LETTER AE */
  {0x3151 , L  }, /* HANGUL LETTER YA */
  {0x3152 , L  }, /* HANGUL LETTER YAE */
  {0x3153 , L  }, /* HANGUL LETTER EO */
  {0x3154 , L  }, /* HANGUL LETTER E */
  {0x3155 , L  }, /* HANGUL LETTER YEO */
  {0x3156 , L  }, /* HANGUL LETTER YE */
  {0x3157 , L  }, /* HANGUL LETTER O */
  {0x3158 , L  }, /* HANGUL LETTER WA */
  {0x3159 , L  }, /* HANGUL LETTER WAE */
  {0x315A , L  }, /* HANGUL LETTER OE */
  {0x315B , L  }, /* HANGUL LETTER YO */
  {0x315C , L  }, /* HANGUL LETTER U */
  {0x315D , L  }, /* HANGUL LETTER WEO */
  {0x315E , L  }, /* HANGUL LETTER WE */
  {0x315F , L  }, /* HANGUL LETTER WI */
  {0x3160 , L  }, /* HANGUL LETTER YU */
  {0x3161 , L  }, /* HANGUL LETTER EU */
  {0x3162 , L  }, /* HANGUL LETTER YI */
  {0x3163 , L  }, /* HANGUL LETTER I */
  {0x3164 , L  }, /* HANGUL FILLER */
  {0x3165 , L  }, /* HANGUL LETTER SSANGNIEUN */
  {0x3166 , L  }, /* HANGUL LETTER NIEUN-TIKEUT */
  {0x3167 , L  }, /* HANGUL LETTER NIEUN-SIOS */
  {0x3168 , L  }, /* HANGUL LETTER NIEUN-PANSIOS */
  {0x3169 , L  }, /* HANGUL LETTER RIEUL-KIYEOK-SIOS */
  {0x316A , L  }, /* HANGUL LETTER RIEUL-TIKEUT */
  {0x316B , L  }, /* HANGUL LETTER RIEUL-PIEUP-SIOS */
  {0x316C , L  }, /* HANGUL LETTER RIEUL-PANSIOS */
  {0x316D , L  }, /* HANGUL LETTER RIEUL-YEORINHIEUH */
  {0x316E , L  }, /* HANGUL LETTER MIEUM-PIEUP */
  {0x316F , L  }, /* HANGUL LETTER MIEUM-SIOS */
  {0x3170 , L  }, /* HANGUL LETTER MIEUM-PANSIOS */
  {0x3171 , L  }, /* HANGUL LETTER KAPYEOUNMIEUM */
  {0x3172 , L  }, /* HANGUL LETTER PIEUP-KIYEOK */
  {0x3173 , L  }, /* HANGUL LETTER PIEUP-TIKEUT */
  {0x3174 , L  }, /* HANGUL LETTER PIEUP-SIOS-KIYEOK */
  {0x3175 , L  }, /* HANGUL LETTER PIEUP-SIOS-TIKEUT */
  {0x3176 , L  }, /* HANGUL LETTER PIEUP-CIEUC */
  {0x3177 , L  }, /* HANGUL LETTER PIEUP-THIEUTH */
  {0x3178 , L  }, /* HANGUL LETTER KAPYEOUNPIEUP */
  {0x3179 , L  }, /* HANGUL LETTER KAPYEOUNSSANGPIEUP */
  {0x317A , L  }, /* HANGUL LETTER SIOS-KIYEOK */
  {0x317B , L  }, /* HANGUL LETTER SIOS-NIEUN */
  {0x317C , L  }, /* HANGUL LETTER SIOS-TIKEUT */
  {0x317D , L  }, /* HANGUL LETTER SIOS-PIEUP */
  {0x317E , L  }, /* HANGUL LETTER SIOS-CIEUC */
  {0x317F , L  }, /* HANGUL LETTER PANSIOS */
  {0x3180 , L  }, /* HANGUL LETTER SSANGIEUNG */
  {0x3181 , L  }, /* HANGUL LETTER YESIEUNG */
  {0x3182 , L  }, /* HANGUL LETTER YESIEUNG-SIOS */
  {0x3183 , L  }, /* HANGUL LETTER YESIEUNG-PANSIOS */
  {0x3184 , L  }, /* HANGUL LETTER KAPYEOUNPHIEUPH */
  {0x3185 , L  }, /* HANGUL LETTER SSANGHIEUH */
  {0x3186 , L  }, /* HANGUL LETTER YEORINHIEUH */
  {0x3187 , L  }, /* HANGUL LETTER YO-YA */
  {0x3188 , L  }, /* HANGUL LETTER YO-YAE */
  {0x3189 , L  }, /* HANGUL LETTER YO-I */
  {0x318A , L  }, /* HANGUL LETTER YU-YEO */
  {0x318B , L  }, /* HANGUL LETTER YU-YE */
  {0x318C , L  }, /* HANGUL LETTER YU-I */
  {0x318D , L  }, /* HANGUL LETTER ARAEA */
  {0x318E , L  }, /* HANGUL LETTER ARAEAE */
  {0x3190 , L  }, /* IDEOGRAPHIC ANNOTATION LINKING MARK */
  {0x3191 , L  }, /* IDEOGRAPHIC ANNOTATION REVERSE MARK */
  {0x3192 , L  }, /* IDEOGRAPHIC ANNOTATION ONE MARK */
  {0x3193 , L  }, /* IDEOGRAPHIC ANNOTATION TWO MARK */
  {0x3194 , L  }, /* IDEOGRAPHIC ANNOTATION THREE MARK */
  {0x3195 , L  }, /* IDEOGRAPHIC ANNOTATION FOUR MARK */
  {0x3196 , L  }, /* IDEOGRAPHIC ANNOTATION TOP MARK */
  {0x3197 , L  }, /* IDEOGRAPHIC ANNOTATION MIDDLE MARK */
  {0x3198 , L  }, /* IDEOGRAPHIC ANNOTATION BOTTOM MARK */
  {0x3199 , L  }, /* IDEOGRAPHIC ANNOTATION FIRST MARK */
  {0x319A , L  }, /* IDEOGRAPHIC ANNOTATION SECOND MARK */
  {0x319B , L  }, /* IDEOGRAPHIC ANNOTATION THIRD MARK */
  {0x319C , L  }, /* IDEOGRAPHIC ANNOTATION FOURTH MARK */
  {0x319D , L  }, /* IDEOGRAPHIC ANNOTATION HEAVEN MARK */
  {0x319E , L  }, /* IDEOGRAPHIC ANNOTATION EARTH MARK */
  {0x319F , L  }, /* IDEOGRAPHIC ANNOTATION MAN MARK */
  {0x31A0 , L  }, /* BOPOMOFO LETTER BU */
  {0x31A1 , L  }, /* BOPOMOFO LETTER ZI */
  {0x31A2 , L  }, /* BOPOMOFO LETTER JI */
  {0x31A3 , L  }, /* BOPOMOFO LETTER GU */
  {0x31A4 , L  }, /* BOPOMOFO LETTER EE */
  {0x31A5 , L  }, /* BOPOMOFO LETTER ENN */
  {0x31A6 , L  }, /* BOPOMOFO LETTER OO */
  {0x31A7 , L  }, /* BOPOMOFO LETTER ONN */
  {0x31A8 , L  }, /* BOPOMOFO LETTER IR */
  {0x31A9 , L  }, /* BOPOMOFO LETTER ANN */
  {0x31AA , L  }, /* BOPOMOFO LETTER INN */
  {0x31AB , L  }, /* BOPOMOFO LETTER UNN */
  {0x31AC , L  }, /* BOPOMOFO LETTER IM */
  {0x31AD , L  }, /* BOPOMOFO LETTER NGG */
  {0x31AE , L  }, /* BOPOMOFO LETTER AINN */
  {0x31AF , L  }, /* BOPOMOFO LETTER AUNN */
  {0x31B0 , L  }, /* BOPOMOFO LETTER AM */
  {0x31B1 , L  }, /* BOPOMOFO LETTER OM */
  {0x31B2 , L  }, /* BOPOMOFO LETTER ONG */
  {0x31B3 , L  }, /* BOPOMOFO LETTER INNN */
  {0x31B4 , L  }, /* BOPOMOFO FINAL LETTER P */
  {0x31B5 , L  }, /* BOPOMOFO FINAL LETTER T */
  {0x31B6 , L  }, /* BOPOMOFO FINAL LETTER K */
  {0x31B7 , L  }, /* BOPOMOFO FINAL LETTER H */
  {0x31C0 , ON }, /* CJK STROKE T */
  {0x31C1 , ON }, /* CJK STROKE WG */
  {0x31C2 , ON }, /* CJK STROKE XG */
  {0x31C3 , ON }, /* CJK STROKE BXG */
  {0x31C4 , ON }, /* CJK STROKE SW */
  {0x31C5 , ON }, /* CJK STROKE HZZ */
  {0x31C6 , ON }, /* CJK STROKE HZG */
  {0x31C7 , ON }, /* CJK STROKE HP */
  {0x31C8 , ON }, /* CJK STROKE HZWG */
  {0x31C9 , ON }, /* CJK STROKE SZWG */
  {0x31CA , ON }, /* CJK STROKE HZT */
  {0x31CB , ON }, /* CJK STROKE HZZP */
  {0x31CC , ON }, /* CJK STROKE HPWG */
  {0x31CD , ON }, /* CJK STROKE HZW */
  {0x31CE , ON }, /* CJK STROKE HZZZ */
  {0x31CF , ON }, /* CJK STROKE N */
  {0x31F0 , L  }, /* KATAKANA LETTER SMALL KU */
  {0x31F1 , L  }, /* KATAKANA LETTER SMALL SI */
  {0x31F2 , L  }, /* KATAKANA LETTER SMALL SU */
  {0x31F3 , L  }, /* KATAKANA LETTER SMALL TO */
  {0x31F4 , L  }, /* KATAKANA LETTER SMALL NU */
  {0x31F5 , L  }, /* KATAKANA LETTER SMALL HA */
  {0x31F6 , L  }, /* KATAKANA LETTER SMALL HI */
  {0x31F7 , L  }, /* KATAKANA LETTER SMALL HU */
  {0x31F8 , L  }, /* KATAKANA LETTER SMALL HE */
  {0x31F9 , L  }, /* KATAKANA LETTER SMALL HO */
  {0x31FA , L  }, /* KATAKANA LETTER SMALL MU */
  {0x31FB , L  }, /* KATAKANA LETTER SMALL RA */
  {0x31FC , L  }, /* KATAKANA LETTER SMALL RI */
  {0x31FD , L  }, /* KATAKANA LETTER SMALL RU */
  {0x31FE , L  }, /* KATAKANA LETTER SMALL RE */
  {0x31FF , L  }, /* KATAKANA LETTER SMALL RO */
  {0x3200 , L  }, /* PARENTHESIZED HANGUL KIYEOK */
  {0x3201 , L  }, /* PARENTHESIZED HANGUL NIEUN */
  {0x3202 , L  }, /* PARENTHESIZED HANGUL TIKEUT */
  {0x3203 , L  }, /* PARENTHESIZED HANGUL RIEUL */
  {0x3204 , L  }, /* PARENTHESIZED HANGUL MIEUM */
  {0x3205 , L  }, /* PARENTHESIZED HANGUL PIEUP */
  {0x3206 , L  }, /* PARENTHESIZED HANGUL SIOS */
  {0x3207 , L  }, /* PARENTHESIZED HANGUL IEUNG */
  {0x3208 , L  }, /* PARENTHESIZED HANGUL CIEUC */
  {0x3209 , L  }, /* PARENTHESIZED HANGUL CHIEUCH */
  {0x320A , L  }, /* PARENTHESIZED HANGUL KHIEUKH */
  {0x320B , L  }, /* PARENTHESIZED HANGUL THIEUTH */
  {0x320C , L  }, /* PARENTHESIZED HANGUL PHIEUPH */
  {0x320D , L  }, /* PARENTHESIZED HANGUL HIEUH */
  {0x320E , L  }, /* PARENTHESIZED HANGUL KIYEOK A */
  {0x320F , L  }, /* PARENTHESIZED HANGUL NIEUN A */
  {0x3210 , L  }, /* PARENTHESIZED HANGUL TIKEUT A */
  {0x3211 , L  }, /* PARENTHESIZED HANGUL RIEUL A */
  {0x3212 , L  }, /* PARENTHESIZED HANGUL MIEUM A */
  {0x3213 , L  }, /* PARENTHESIZED HANGUL PIEUP A */
  {0x3214 , L  }, /* PARENTHESIZED HANGUL SIOS A */
  {0x3215 , L  }, /* PARENTHESIZED HANGUL IEUNG A */
  {0x3216 , L  }, /* PARENTHESIZED HANGUL CIEUC A */
  {0x3217 , L  }, /* PARENTHESIZED HANGUL CHIEUCH A */
  {0x3218 , L  }, /* PARENTHESIZED HANGUL KHIEUKH A */
  {0x3219 , L  }, /* PARENTHESIZED HANGUL THIEUTH A */
  {0x321A , L  }, /* PARENTHESIZED HANGUL PHIEUPH A */
  {0x321B , L  }, /* PARENTHESIZED HANGUL HIEUH A */
  {0x321C , L  }, /* PARENTHESIZED HANGUL CIEUC U */
  {0x321D , ON }, /* PARENTHESIZED KOREAN CHARACTER OJEON */
  {0x321E , ON }, /* PARENTHESIZED KOREAN CHARACTER O HU */
  {0x3220 , L  }, /* PARENTHESIZED IDEOGRAPH ONE */
  {0x3221 , L  }, /* PARENTHESIZED IDEOGRAPH TWO */
  {0x3222 , L  }, /* PARENTHESIZED IDEOGRAPH THREE */
  {0x3223 , L  }, /* PARENTHESIZED IDEOGRAPH FOUR */
  {0x3224 , L  }, /* PARENTHESIZED IDEOGRAPH FIVE */
  {0x3225 , L  }, /* PARENTHESIZED IDEOGRAPH SIX */
  {0x3226 , L  }, /* PARENTHESIZED IDEOGRAPH SEVEN */
  {0x3227 , L  }, /* PARENTHESIZED IDEOGRAPH EIGHT */
  {0x3228 , L  }, /* PARENTHESIZED IDEOGRAPH NINE */
  {0x3229 , L  }, /* PARENTHESIZED IDEOGRAPH TEN */
  {0x322A , L  }, /* PARENTHESIZED IDEOGRAPH MOON */
  {0x322B , L  }, /* PARENTHESIZED IDEOGRAPH FIRE */
  {0x322C , L  }, /* PARENTHESIZED IDEOGRAPH WATER */
  {0x322D , L  }, /* PARENTHESIZED IDEOGRAPH WOOD */
  {0x322E , L  }, /* PARENTHESIZED IDEOGRAPH METAL */
  {0x322F , L  }, /* PARENTHESIZED IDEOGRAPH EARTH */
  {0x3230 , L  }, /* PARENTHESIZED IDEOGRAPH SUN */
  {0x3231 , L  }, /* PARENTHESIZED IDEOGRAPH STOCK */
  {0x3232 , L  }, /* PARENTHESIZED IDEOGRAPH HAVE */
  {0x3233 , L  }, /* PARENTHESIZED IDEOGRAPH SOCIETY */
  {0x3234 , L  }, /* PARENTHESIZED IDEOGRAPH NAME */
  {0x3235 , L  }, /* PARENTHESIZED IDEOGRAPH SPECIAL */
  {0x3236 , L  }, /* PARENTHESIZED IDEOGRAPH FINANCIAL */
  {0x3237 , L  }, /* PARENTHESIZED IDEOGRAPH CONGRATULATION */
  {0x3238 , L  }, /* PARENTHESIZED IDEOGRAPH LABOR */
  {0x3239 , L  }, /* PARENTHESIZED IDEOGRAPH REPRESENT */
  {0x323A , L  }, /* PARENTHESIZED IDEOGRAPH CALL */
  {0x323B , L  }, /* PARENTHESIZED IDEOGRAPH STUDY */
  {0x323C , L  }, /* PARENTHESIZED IDEOGRAPH SUPERVISE */
  {0x323D , L  }, /* PARENTHESIZED IDEOGRAPH ENTERPRISE */
  {0x323E , L  }, /* PARENTHESIZED IDEOGRAPH RESOURCE */
  {0x323F , L  }, /* PARENTHESIZED IDEOGRAPH ALLIANCE */
  {0x3240 , L  }, /* PARENTHESIZED IDEOGRAPH FESTIVAL */
  {0x3241 , L  }, /* PARENTHESIZED IDEOGRAPH REST */
  {0x3242 , L  }, /* PARENTHESIZED IDEOGRAPH SELF */
  {0x3243 , L  }, /* PARENTHESIZED IDEOGRAPH REACH */
  {0x3250 , ON }, /* PARTNERSHIP SIGN */
  {0x3251 , ON }, /* CIRCLED NUMBER TWENTY ONE */
  {0x3252 , ON }, /* CIRCLED NUMBER TWENTY TWO */
  {0x3253 , ON }, /* CIRCLED NUMBER TWENTY THREE */
  {0x3254 , ON }, /* CIRCLED NUMBER TWENTY FOUR */
  {0x3255 , ON }, /* CIRCLED NUMBER TWENTY FIVE */
  {0x3256 , ON }, /* CIRCLED NUMBER TWENTY SIX */
  {0x3257 , ON }, /* CIRCLED NUMBER TWENTY SEVEN */
  {0x3258 , ON }, /* CIRCLED NUMBER TWENTY EIGHT */
  {0x3259 , ON }, /* CIRCLED NUMBER TWENTY NINE */
  {0x325A , ON }, /* CIRCLED NUMBER THIRTY */
  {0x325B , ON }, /* CIRCLED NUMBER THIRTY ONE */
  {0x325C , ON }, /* CIRCLED NUMBER THIRTY TWO */
  {0x325D , ON }, /* CIRCLED NUMBER THIRTY THREE */
  {0x325E , ON }, /* CIRCLED NUMBER THIRTY FOUR */
  {0x325F , ON }, /* CIRCLED NUMBER THIRTY FIVE */
  {0x3260 , L  }, /* CIRCLED HANGUL KIYEOK */
  {0x3261 , L  }, /* CIRCLED HANGUL NIEUN */
  {0x3262 , L  }, /* CIRCLED HANGUL TIKEUT */
  {0x3263 , L  }, /* CIRCLED HANGUL RIEUL */
  {0x3264 , L  }, /* CIRCLED HANGUL MIEUM */
  {0x3265 , L  }, /* CIRCLED HANGUL PIEUP */
  {0x3266 , L  }, /* CIRCLED HANGUL SIOS */
  {0x3267 , L  }, /* CIRCLED HANGUL IEUNG */
  {0x3268 , L  }, /* CIRCLED HANGUL CIEUC */
  {0x3269 , L  }, /* CIRCLED HANGUL CHIEUCH */
  {0x326A , L  }, /* CIRCLED HANGUL KHIEUKH */
  {0x326B , L  }, /* CIRCLED HANGUL THIEUTH */
  {0x326C , L  }, /* CIRCLED HANGUL PHIEUPH */
  {0x326D , L  }, /* CIRCLED HANGUL HIEUH */
  {0x326E , L  }, /* CIRCLED HANGUL KIYEOK A */
  {0x326F , L  }, /* CIRCLED HANGUL NIEUN A */
  {0x3270 , L  }, /* CIRCLED HANGUL TIKEUT A */
  {0x3271 , L  }, /* CIRCLED HANGUL RIEUL A */
  {0x3272 , L  }, /* CIRCLED HANGUL MIEUM A */
  {0x3273 , L  }, /* CIRCLED HANGUL PIEUP A */
  {0x3274 , L  }, /* CIRCLED HANGUL SIOS A */
  {0x3275 , L  }, /* CIRCLED HANGUL IEUNG A */
  {0x3276 , L  }, /* CIRCLED HANGUL CIEUC A */
  {0x3277 , L  }, /* CIRCLED HANGUL CHIEUCH A */
  {0x3278 , L  }, /* CIRCLED HANGUL KHIEUKH A */
  {0x3279 , L  }, /* CIRCLED HANGUL THIEUTH A */
  {0x327A , L  }, /* CIRCLED HANGUL PHIEUPH A */
  {0x327B , L  }, /* CIRCLED HANGUL HIEUH A */
  {0x327C , ON }, /* CIRCLED KOREAN CHARACTER CHAMKO */
  {0x327D , ON }, /* CIRCLED KOREAN CHARACTER JUEUI */
  {0x327E , ON }, /* CIRCLED HANGUL IEUNG U */
  {0x327F , L  }, /* KOREAN STANDARD SYMBOL */
  {0x3280 , L  }, /* CIRCLED IDEOGRAPH ONE */
  {0x3281 , L  }, /* CIRCLED IDEOGRAPH TWO */
  {0x3282 , L  }, /* CIRCLED IDEOGRAPH THREE */
  {0x3283 , L  }, /* CIRCLED IDEOGRAPH FOUR */
  {0x3284 , L  }, /* CIRCLED IDEOGRAPH FIVE */
  {0x3285 , L  }, /* CIRCLED IDEOGRAPH SIX */
  {0x3286 , L  }, /* CIRCLED IDEOGRAPH SEVEN */
  {0x3287 , L  }, /* CIRCLED IDEOGRAPH EIGHT */
  {0x3288 , L  }, /* CIRCLED IDEOGRAPH NINE */
  {0x3289 , L  }, /* CIRCLED IDEOGRAPH TEN */
  {0x328A , L  }, /* CIRCLED IDEOGRAPH MOON */
  {0x328B , L  }, /* CIRCLED IDEOGRAPH FIRE */
  {0x328C , L  }, /* CIRCLED IDEOGRAPH WATER */
  {0x328D , L  }, /* CIRCLED IDEOGRAPH WOOD */
  {0x328E , L  }, /* CIRCLED IDEOGRAPH METAL */
  {0x328F , L  }, /* CIRCLED IDEOGRAPH EARTH */
  {0x3290 , L  }, /* CIRCLED IDEOGRAPH SUN */
  {0x3291 , L  }, /* CIRCLED IDEOGRAPH STOCK */
  {0x3292 , L  }, /* CIRCLED IDEOGRAPH HAVE */
  {0x3293 , L  }, /* CIRCLED IDEOGRAPH SOCIETY */
  {0x3294 , L  }, /* CIRCLED IDEOGRAPH NAME */
  {0x3295 , L  }, /* CIRCLED IDEOGRAPH SPECIAL */
  {0x3296 , L  }, /* CIRCLED IDEOGRAPH FINANCIAL */
  {0x3297 , L  }, /* CIRCLED IDEOGRAPH CONGRATULATION */
  {0x3298 , L  }, /* CIRCLED IDEOGRAPH LABOR */
  {0x3299 , L  }, /* CIRCLED IDEOGRAPH SECRET */
  {0x329A , L  }, /* CIRCLED IDEOGRAPH MALE */
  {0x329B , L  }, /* CIRCLED IDEOGRAPH FEMALE */
  {0x329C , L  }, /* CIRCLED IDEOGRAPH SUITABLE */
  {0x329D , L  }, /* CIRCLED IDEOGRAPH EXCELLENT */
  {0x329E , L  }, /* CIRCLED IDEOGRAPH PRINT */
  {0x329F , L  }, /* CIRCLED IDEOGRAPH ATTENTION */
  {0x32A0 , L  }, /* CIRCLED IDEOGRAPH ITEM */
  {0x32A1 , L  }, /* CIRCLED IDEOGRAPH REST */
  {0x32A2 , L  }, /* CIRCLED IDEOGRAPH COPY */
  {0x32A3 , L  }, /* CIRCLED IDEOGRAPH CORRECT */
  {0x32A4 , L  }, /* CIRCLED IDEOGRAPH HIGH */
  {0x32A5 , L  }, /* CIRCLED IDEOGRAPH CENTRE */
  {0x32A6 , L  }, /* CIRCLED IDEOGRAPH LOW */
  {0x32A7 , L  }, /* CIRCLED IDEOGRAPH LEFT */
  {0x32A8 , L  }, /* CIRCLED IDEOGRAPH RIGHT */
  {0x32A9 , L  }, /* CIRCLED IDEOGRAPH MEDICINE */
  {0x32AA , L  }, /* CIRCLED IDEOGRAPH RELIGION */
  {0x32AB , L  }, /* CIRCLED IDEOGRAPH STUDY */
  {0x32AC , L  }, /* CIRCLED IDEOGRAPH SUPERVISE */
  {0x32AD , L  }, /* CIRCLED IDEOGRAPH ENTERPRISE */
  {0x32AE , L  }, /* CIRCLED IDEOGRAPH RESOURCE */
  {0x32AF , L  }, /* CIRCLED IDEOGRAPH ALLIANCE */
  {0x32B0 , L  }, /* CIRCLED IDEOGRAPH NIGHT */
  {0x32B1 , ON }, /* CIRCLED NUMBER THIRTY SIX */
  {0x32B2 , ON }, /* CIRCLED NUMBER THIRTY SEVEN */
  {0x32B3 , ON }, /* CIRCLED NUMBER THIRTY EIGHT */
  {0x32B4 , ON }, /* CIRCLED NUMBER THIRTY NINE */
  {0x32B5 , ON }, /* CIRCLED NUMBER FORTY */
  {0x32B6 , ON }, /* CIRCLED NUMBER FORTY ONE */
  {0x32B7 , ON }, /* CIRCLED NUMBER FORTY TWO */
  {0x32B8 , ON }, /* CIRCLED NUMBER FORTY THREE */
  {0x32B9 , ON }, /* CIRCLED NUMBER FORTY FOUR */
  {0x32BA , ON }, /* CIRCLED NUMBER FORTY FIVE */
  {0x32BB , ON }, /* CIRCLED NUMBER FORTY SIX */
  {0x32BC , ON }, /* CIRCLED NUMBER FORTY SEVEN */
  {0x32BD , ON }, /* CIRCLED NUMBER FORTY EIGHT */
  {0x32BE , ON }, /* CIRCLED NUMBER FORTY NINE */
  {0x32BF , ON }, /* CIRCLED NUMBER FIFTY */
  {0x32C0 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY */
  {0x32C1 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY */
  {0x32C2 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH */
  {0x32C3 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL */
  {0x32C4 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY */
  {0x32C5 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE */
  {0x32C6 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY */
  {0x32C7 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST */
  {0x32C8 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER */
  {0x32C9 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER */
  {0x32CA , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER */
  {0x32CB , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER */
  {0x32CC , ON }, /* SQUARE HG */
  {0x32CD , ON }, /* SQUARE ERG */
  {0x32CE , ON }, /* SQUARE EV */
  {0x32CF , ON }, /* LIMITED LIABILITY SIGN */
  {0x32D0 , L  }, /* CIRCLED KATAKANA A */
  {0x32D1 , L  }, /* CIRCLED KATAKANA I */
  {0x32D2 , L  }, /* CIRCLED KATAKANA U */
  {0x32D3 , L  }, /* CIRCLED KATAKANA E */
  {0x32D4 , L  }, /* CIRCLED KATAKANA O */
  {0x32D5 , L  }, /* CIRCLED KATAKANA KA */
  {0x32D6 , L  }, /* CIRCLED KATAKANA KI */
  {0x32D7 , L  }, /* CIRCLED KATAKANA KU */
  {0x32D8 , L  }, /* CIRCLED KATAKANA KE */
  {0x32D9 , L  }, /* CIRCLED KATAKANA KO */
  {0x32DA , L  }, /* CIRCLED KATAKANA SA */
  {0x32DB , L  }, /* CIRCLED KATAKANA SI */
  {0x32DC , L  }, /* CIRCLED KATAKANA SU */
  {0x32DD , L  }, /* CIRCLED KATAKANA SE */
  {0x32DE , L  }, /* CIRCLED KATAKANA SO */
  {0x32DF , L  }, /* CIRCLED KATAKANA TA */
  {0x32E0 , L  }, /* CIRCLED KATAKANA TI */
  {0x32E1 , L  }, /* CIRCLED KATAKANA TU */
  {0x32E2 , L  }, /* CIRCLED KATAKANA TE */
  {0x32E3 , L  }, /* CIRCLED KATAKANA TO */
  {0x32E4 , L  }, /* CIRCLED KATAKANA NA */
  {0x32E5 , L  }, /* CIRCLED KATAKANA NI */
  {0x32E6 , L  }, /* CIRCLED KATAKANA NU */
  {0x32E7 , L  }, /* CIRCLED KATAKANA NE */
  {0x32E8 , L  }, /* CIRCLED KATAKANA NO */
  {0x32E9 , L  }, /* CIRCLED KATAKANA HA */
  {0x32EA , L  }, /* CIRCLED KATAKANA HI */
  {0x32EB , L  }, /* CIRCLED KATAKANA HU */
  {0x32EC , L  }, /* CIRCLED KATAKANA HE */
  {0x32ED , L  }, /* CIRCLED KATAKANA HO */
  {0x32EE , L  }, /* CIRCLED KATAKANA MA */
  {0x32EF , L  }, /* CIRCLED KATAKANA MI */
  {0x32F0 , L  }, /* CIRCLED KATAKANA MU */
  {0x32F1 , L  }, /* CIRCLED KATAKANA ME */
  {0x32F2 , L  }, /* CIRCLED KATAKANA MO */
  {0x32F3 , L  }, /* CIRCLED KATAKANA YA */
  {0x32F4 , L  }, /* CIRCLED KATAKANA YU */
  {0x32F5 , L  }, /* CIRCLED KATAKANA YO */
  {0x32F6 , L  }, /* CIRCLED KATAKANA RA */
  {0x32F7 , L  }, /* CIRCLED KATAKANA RI */
  {0x32F8 , L  }, /* CIRCLED KATAKANA RU */
  {0x32F9 , L  }, /* CIRCLED KATAKANA RE */
  {0x32FA , L  }, /* CIRCLED KATAKANA RO */
  {0x32FB , L  }, /* CIRCLED KATAKANA WA */
  {0x32FC , L  }, /* CIRCLED KATAKANA WI */
  {0x32FD , L  }, /* CIRCLED KATAKANA WE */
  {0x32FE , L  }, /* CIRCLED KATAKANA WO */
  {0x3300 , L  }, /* SQUARE APAATO */
  {0x3301 , L  }, /* SQUARE ARUHUA */
  {0x3302 , L  }, /* SQUARE ANPEA */
  {0x3303 , L  }, /* SQUARE AARU */
  {0x3304 , L  }, /* SQUARE ININGU */
  {0x3305 , L  }, /* SQUARE INTI */
  {0x3306 , L  }, /* SQUARE UON */
  {0x3307 , L  }, /* SQUARE ESUKUUDO */
  {0x3308 , L  }, /* SQUARE EEKAA */
  {0x3309 , L  }, /* SQUARE ONSU */
  {0x330A , L  }, /* SQUARE OOMU */
  {0x330B , L  }, /* SQUARE KAIRI */
  {0x330C , L  }, /* SQUARE KARATTO */
  {0x330D , L  }, /* SQUARE KARORII */
  {0x330E , L  }, /* SQUARE GARON */
  {0x330F , L  }, /* SQUARE GANMA */
  {0x3310 , L  }, /* SQUARE GIGA */
  {0x3311 , L  }, /* SQUARE GINII */
  {0x3312 , L  }, /* SQUARE KYURII */
  {0x3313 , L  }, /* SQUARE GIRUDAA */
  {0x3314 , L  }, /* SQUARE KIRO */
  {0x3315 , L  }, /* SQUARE KIROGURAMU */
  {0x3316 , L  }, /* SQUARE KIROMEETORU */
  {0x3317 , L  }, /* SQUARE KIROWATTO */
  {0x3318 , L  }, /* SQUARE GURAMU */
  {0x3319 , L  }, /* SQUARE GURAMUTON */
  {0x331A , L  }, /* SQUARE KURUZEIRO */
  {0x331B , L  }, /* SQUARE KUROONE */
  {0x331C , L  }, /* SQUARE KEESU */
  {0x331D , L  }, /* SQUARE KORUNA */
  {0x331E , L  }, /* SQUARE KOOPO */
  {0x331F , L  }, /* SQUARE SAIKURU */
  {0x3320 , L  }, /* SQUARE SANTIIMU */
  {0x3321 , L  }, /* SQUARE SIRINGU */
  {0x3322 , L  }, /* SQUARE SENTI */
  {0x3323 , L  }, /* SQUARE SENTO */
  {0x3324 , L  }, /* SQUARE DAASU */
  {0x3325 , L  }, /* SQUARE DESI */
  {0x3326 , L  }, /* SQUARE DORU */
  {0x3327 , L  }, /* SQUARE TON */
  {0x3328 , L  }, /* SQUARE NANO */
  {0x3329 , L  }, /* SQUARE NOTTO */
  {0x332A , L  }, /* SQUARE HAITU */
  {0x332B , L  }, /* SQUARE PAASENTO */
  {0x332C , L  }, /* SQUARE PAATU */
  {0x332D , L  }, /* SQUARE BAARERU */
  {0x332E , L  }, /* SQUARE PIASUTORU */
  {0x332F , L  }, /* SQUARE PIKURU */
  {0x3330 , L  }, /* SQUARE PIKO */
  {0x3331 , L  }, /* SQUARE BIRU */
  {0x3332 , L  }, /* SQUARE HUARADDO */
  {0x3333 , L  }, /* SQUARE HUIITO */
  {0x3334 , L  }, /* SQUARE BUSSYERU */
  {0x3335 , L  }, /* SQUARE HURAN */
  {0x3336 , L  }, /* SQUARE HEKUTAARU */
  {0x3337 , L  }, /* SQUARE PESO */
  {0x3338 , L  }, /* SQUARE PENIHI */
  {0x3339 , L  }, /* SQUARE HERUTU */
  {0x333A , L  }, /* SQUARE PENSU */
  {0x333B , L  }, /* SQUARE PEEZI */
  {0x333C , L  }, /* SQUARE BEETA */
  {0x333D , L  }, /* SQUARE POINTO */
  {0x333E , L  }, /* SQUARE BORUTO */
  {0x333F , L  }, /* SQUARE HON */
  {0x3340 , L  }, /* SQUARE PONDO */
  {0x3341 , L  }, /* SQUARE HOORU */
  {0x3342 , L  }, /* SQUARE HOON */
  {0x3343 , L  }, /* SQUARE MAIKURO */
  {0x3344 , L  }, /* SQUARE MAIRU */
  {0x3345 , L  }, /* SQUARE MAHHA */
  {0x3346 , L  }, /* SQUARE MARUKU */
  {0x3347 , L  }, /* SQUARE MANSYON */
  {0x3348 , L  }, /* SQUARE MIKURON */
  {0x3349 , L  }, /* SQUARE MIRI */
  {0x334A , L  }, /* SQUARE MIRIBAARU */
  {0x334B , L  }, /* SQUARE MEGA */
  {0x334C , L  }, /* SQUARE MEGATON */
  {0x334D , L  }, /* SQUARE MEETORU */
  {0x334E , L  }, /* SQUARE YAADO */
  {0x334F , L  }, /* SQUARE YAARU */
  {0x3350 , L  }, /* SQUARE YUAN */
  {0x3351 , L  }, /* SQUARE RITTORU */
  {0x3352 , L  }, /* SQUARE RIRA */
  {0x3353 , L  }, /* SQUARE RUPII */
  {0x3354 , L  }, /* SQUARE RUUBURU */
  {0x3355 , L  }, /* SQUARE REMU */
  {0x3356 , L  }, /* SQUARE RENTOGEN */
  {0x3357 , L  }, /* SQUARE WATTO */
  {0x3358 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO */
  {0x3359 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE */
  {0x335A , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO */
  {0x335B , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE */
  {0x335C , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR */
  {0x335D , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE */
  {0x335E , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX */
  {0x335F , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN */
  {0x3360 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT */
  {0x3361 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE */
  {0x3362 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN */
  {0x3363 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN */
  {0x3364 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE */
  {0x3365 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN */
  {0x3366 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN */
  {0x3367 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN */
  {0x3368 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN */
  {0x3369 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN */
  {0x336A , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN */
  {0x336B , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN */
  {0x336C , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY */
  {0x336D , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE */
  {0x336E , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO */
  {0x336F , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE */
  {0x3370 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR */
  {0x3371 , L  }, /* SQUARE HPA */
  {0x3372 , L  }, /* SQUARE DA */
  {0x3373 , L  }, /* SQUARE AU */
  {0x3374 , L  }, /* SQUARE BAR */
  {0x3375 , L  }, /* SQUARE OV */
  {0x3376 , L  }, /* SQUARE PC */
  {0x3377 , ON }, /* SQUARE DM */
  {0x3378 , ON }, /* SQUARE DM SQUARED */
  {0x3379 , ON }, /* SQUARE DM CUBED */
  {0x337A , ON }, /* SQUARE IU */
  {0x337B , L  }, /* SQUARE ERA NAME HEISEI */
  {0x337C , L  }, /* SQUARE ERA NAME SYOUWA */
  {0x337D , L  }, /* SQUARE ERA NAME TAISYOU */
  {0x337E , L  }, /* SQUARE ERA NAME MEIZI */
  {0x337F , L  }, /* SQUARE CORPORATION */
  {0x3380 , L  }, /* SQUARE PA AMPS */
  {0x3381 , L  }, /* SQUARE NA */
  {0x3382 , L  }, /* SQUARE MU A */
  {0x3383 , L  }, /* SQUARE MA */
  {0x3384 , L  }, /* SQUARE KA */
  {0x3385 , L  }, /* SQUARE KB */
  {0x3386 , L  }, /* SQUARE MB */
  {0x3387 , L  }, /* SQUARE GB */
  {0x3388 , L  }, /* SQUARE CAL */
  {0x3389 , L  }, /* SQUARE KCAL */
  {0x338A , L  }, /* SQUARE PF */
  {0x338B , L  }, /* SQUARE NF */
  {0x338C , L  }, /* SQUARE MU F */
  {0x338D , L  }, /* SQUARE MU G */
  {0x338E , L  }, /* SQUARE MG */
  {0x338F , L  }, /* SQUARE KG */
  {0x3390 , L  }, /* SQUARE HZ */
  {0x3391 , L  }, /* SQUARE KHZ */
  {0x3392 , L  }, /* SQUARE MHZ */
  {0x3393 , L  }, /* SQUARE GHZ */
  {0x3394 , L  }, /* SQUARE THZ */
  {0x3395 , L  }, /* SQUARE MU L */
  {0x3396 , L  }, /* SQUARE ML */
  {0x3397 , L  }, /* SQUARE DL */
  {0x3398 , L  }, /* SQUARE KL */
  {0x3399 , L  }, /* SQUARE FM */
  {0x339A , L  }, /* SQUARE NM */
  {0x339B , L  }, /* SQUARE MU M */
  {0x339C , L  }, /* SQUARE MM */
  {0x339D , L  }, /* SQUARE CM */
  {0x339E , L  }, /* SQUARE KM */
  {0x339F , L  }, /* SQUARE MM SQUARED */
  {0x33A0 , L  }, /* SQUARE CM SQUARED */
  {0x33A1 , L  }, /* SQUARE M SQUARED */
  {0x33A2 , L  }, /* SQUARE KM SQUARED */
  {0x33A3 , L  }, /* SQUARE MM CUBED */
  {0x33A4 , L  }, /* SQUARE CM CUBED */
  {0x33A5 , L  }, /* SQUARE M CUBED */
  {0x33A6 , L  }, /* SQUARE KM CUBED */
  {0x33A7 , L  }, /* SQUARE M OVER S */
  {0x33A8 , L  }, /* SQUARE M OVER S SQUARED */
  {0x33A9 , L  }, /* SQUARE PA */
  {0x33AA , L  }, /* SQUARE KPA */
  {0x33AB , L  }, /* SQUARE MPA */
  {0x33AC , L  }, /* SQUARE GPA */
  {0x33AD , L  }, /* SQUARE RAD */
  {0x33AE , L  }, /* SQUARE RAD OVER S */
  {0x33AF , L  }, /* SQUARE RAD OVER S SQUARED */
  {0x33B0 , L  }, /* SQUARE PS */
  {0x33B1 , L  }, /* SQUARE NS */
  {0x33B2 , L  }, /* SQUARE MU S */
  {0x33B3 , L  }, /* SQUARE MS */
  {0x33B4 , L  }, /* SQUARE PV */
  {0x33B5 , L  }, /* SQUARE NV */
  {0x33B6 , L  }, /* SQUARE MU V */
  {0x33B7 , L  }, /* SQUARE MV */
  {0x33B8 , L  }, /* SQUARE KV */
  {0x33B9 , L  }, /* SQUARE MV MEGA */
  {0x33BA , L  }, /* SQUARE PW */
  {0x33BB , L  }, /* SQUARE NW */
  {0x33BC , L  }, /* SQUARE MU W */
  {0x33BD , L  }, /* SQUARE MW */
  {0x33BE , L  }, /* SQUARE KW */
  {0x33BF , L  }, /* SQUARE MW MEGA */
  {0x33C0 , L  }, /* SQUARE K OHM */
  {0x33C1 , L  }, /* SQUARE M OHM */
  {0x33C2 , L  }, /* SQUARE AM */
  {0x33C3 , L  }, /* SQUARE BQ */
  {0x33C4 , L  }, /* SQUARE CC */
  {0x33C5 , L  }, /* SQUARE CD */
  {0x33C6 , L  }, /* SQUARE C OVER KG */
  {0x33C7 , L  }, /* SQUARE CO */
  {0x33C8 , L  }, /* SQUARE DB */
  {0x33C9 , L  }, /* SQUARE GY */
  {0x33CA , L  }, /* SQUARE HA */
  {0x33CB , L  }, /* SQUARE HP */
  {0x33CC , L  }, /* SQUARE IN */
  {0x33CD , L  }, /* SQUARE KK */
  {0x33CE , L  }, /* SQUARE KM CAPITAL */
  {0x33CF , L  }, /* SQUARE KT */
  {0x33D0 , L  }, /* SQUARE LM */
  {0x33D1 , L  }, /* SQUARE LN */
  {0x33D2 , L  }, /* SQUARE LOG */
  {0x33D3 , L  }, /* SQUARE LX */
  {0x33D4 , L  }, /* SQUARE MB SMALL */
  {0x33D5 , L  }, /* SQUARE MIL */
  {0x33D6 , L  }, /* SQUARE MOL */
  {0x33D7 , L  }, /* SQUARE PH */
  {0x33D8 , L  }, /* SQUARE PM */
  {0x33D9 , L  }, /* SQUARE PPM */
  {0x33DA , L  }, /* SQUARE PR */
  {0x33DB , L  }, /* SQUARE SR */
  {0x33DC , L  }, /* SQUARE SV */
  {0x33DD , L  }, /* SQUARE WB */
  {0x33DE , ON }, /* SQUARE V OVER M */
  {0x33DF , ON }, /* SQUARE A OVER M */
  {0x33E0 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE */
  {0x33E1 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO */
  {0x33E2 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE */
  {0x33E3 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR */
  {0x33E4 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE */
  {0x33E5 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX */
  {0x33E6 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN */
  {0x33E7 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT */
  {0x33E8 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE */
  {0x33E9 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN */
  {0x33EA , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN */
  {0x33EB , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE */
  {0x33EC , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN */
  {0x33ED , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN */
  {0x33EE , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN */
  {0x33EF , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN */
  {0x33F0 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN */
  {0x33F1 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN */
  {0x33F2 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN */
  {0x33F3 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY */
  {0x33F4 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE */
  {0x33F5 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO */
  {0x33F6 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE */
  {0x33F7 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR */
  {0x33F8 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE */
  {0x33F9 , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX */
  {0x33FA , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN */
  {0x33FB , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT */
  {0x33FC , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE */
  {0x33FD , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY */
  {0x33FE , L  }, /* IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE */
  {0x33FF , ON }, /* SQUARE GAL */
  {0x3400 , L  }, /* <CJK Ideograph Extension A , First> */
  {0x4DB5 , L  }, /* <CJK Ideograph Extension A , Last> */
  {0x4DC0 , ON }, /* HEXAGRAM FOR THE CREATIVE HEAVEN */
  {0x4DC1 , ON }, /* HEXAGRAM FOR THE RECEPTIVE EARTH */
  {0x4DC2 , ON }, /* HEXAGRAM FOR DIFFICULTY AT THE BEGINNING */
  {0x4DC3 , ON }, /* HEXAGRAM FOR YOUTHFUL FOLLY */
  {0x4DC4 , ON }, /* HEXAGRAM FOR WAITING */
  {0x4DC5 , ON }, /* HEXAGRAM FOR CONFLICT */
  {0x4DC6 , ON }, /* HEXAGRAM FOR THE ARMY */
  {0x4DC7 , ON }, /* HEXAGRAM FOR HOLDING TOGETHER */
  {0x4DC8 , ON }, /* HEXAGRAM FOR SMALL TAMING */
  {0x4DC9 , ON }, /* HEXAGRAM FOR TREADING */
  {0x4DCA , ON }, /* HEXAGRAM FOR PEACE */
  {0x4DCB , ON }, /* HEXAGRAM FOR STANDSTILL */
  {0x4DCC , ON }, /* HEXAGRAM FOR FELLOWSHIP */
  {0x4DCD , ON }, /* HEXAGRAM FOR GREAT POSSESSION */
  {0x4DCE , ON }, /* HEXAGRAM FOR MODESTY */
  {0x4DCF , ON }, /* HEXAGRAM FOR ENTHUSIASM */
  {0x4DD0 , ON }, /* HEXAGRAM FOR FOLLOWING */
  {0x4DD1 , ON }, /* HEXAGRAM FOR WORK ON THE DECAYED */
  {0x4DD2 , ON }, /* HEXAGRAM FOR APPROACH */
  {0x4DD3 , ON }, /* HEXAGRAM FOR CONTEMPLATION */
  {0x4DD4 , ON }, /* HEXAGRAM FOR BITING THROUGH */
  {0x4DD5 , ON }, /* HEXAGRAM FOR GRACE */
  {0x4DD6 , ON }, /* HEXAGRAM FOR SPLITTING APART */
  {0x4DD7 , ON }, /* HEXAGRAM FOR RETURN */
  {0x4DD8 , ON }, /* HEXAGRAM FOR INNOCENCE */
  {0x4DD9 , ON }, /* HEXAGRAM FOR GREAT TAMING */
  {0x4DDA , ON }, /* HEXAGRAM FOR MOUTH CORNERS */
  {0x4DDB , ON }, /* HEXAGRAM FOR GREAT PREPONDERANCE */
  {0x4DDC , ON }, /* HEXAGRAM FOR THE ABYSMAL WATER */
  {0x4DDD , ON }, /* HEXAGRAM FOR THE CLINGING FIRE */
  {0x4DDE , ON }, /* HEXAGRAM FOR INFLUENCE */
  {0x4DDF , ON }, /* HEXAGRAM FOR DURATION */
  {0x4DE0 , ON }, /* HEXAGRAM FOR RETREAT */
  {0x4DE1 , ON }, /* HEXAGRAM FOR GREAT POWER */
  {0x4DE2 , ON }, /* HEXAGRAM FOR PROGRESS */
  {0x4DE3 , ON }, /* HEXAGRAM FOR DARKENING OF THE LIGHT */
  {0x4DE4 , ON }, /* HEXAGRAM FOR THE FAMILY */
  {0x4DE5 , ON }, /* HEXAGRAM FOR OPPOSITION */
  {0x4DE6 , ON }, /* HEXAGRAM FOR OBSTRUCTION */
  {0x4DE7 , ON }, /* HEXAGRAM FOR DELIVERANCE */
  {0x4DE8 , ON }, /* HEXAGRAM FOR DECREASE */
  {0x4DE9 , ON }, /* HEXAGRAM FOR INCREASE */
  {0x4DEA , ON }, /* HEXAGRAM FOR BREAKTHROUGH */
  {0x4DEB , ON }, /* HEXAGRAM FOR COMING TO MEET */
  {0x4DEC , ON }, /* HEXAGRAM FOR GATHERING TOGETHER */
  {0x4DED , ON }, /* HEXAGRAM FOR PUSHING UPWARD */
  {0x4DEE , ON }, /* HEXAGRAM FOR OPPRESSION */
  {0x4DEF , ON }, /* HEXAGRAM FOR THE WELL */
  {0x4DF0 , ON }, /* HEXAGRAM FOR REVOLUTION */
  {0x4DF1 , ON }, /* HEXAGRAM FOR THE CAULDRON */
  {0x4DF2 , ON }, /* HEXAGRAM FOR THE AROUSING THUNDER */
  {0x4DF3 , ON }, /* HEXAGRAM FOR THE KEEPING STILL MOUNTAIN */
  {0x4DF4 , ON }, /* HEXAGRAM FOR DEVELOPMENT */
  {0x4DF5 , ON }, /* HEXAGRAM FOR THE MARRYING MAIDEN */
  {0x4DF6 , ON }, /* HEXAGRAM FOR ABUNDANCE */
  {0x4DF7 , ON }, /* HEXAGRAM FOR THE WANDERER */
  {0x4DF8 , ON }, /* HEXAGRAM FOR THE GENTLE WIND */
  {0x4DF9 , ON }, /* HEXAGRAM FOR THE JOYOUS LAKE */
  {0x4DFA , ON }, /* HEXAGRAM FOR DISPERSION */
  {0x4DFB , ON }, /* HEXAGRAM FOR LIMITATION */
  {0x4DFC , ON }, /* HEXAGRAM FOR INNER TRUTH */
  {0x4DFD , ON }, /* HEXAGRAM FOR SMALL PREPONDERANCE */
  {0x4DFE , ON }, /* HEXAGRAM FOR AFTER COMPLETION */
  {0x4DFF , ON }, /* HEXAGRAM FOR BEFORE COMPLETION */
  {0x4E00 , L  }, /* <CJK Ideograph , First> */
  {0x9FBB , L  }, /* <CJK Ideograph , Last> */
  {0xA000 , L  }, /* YI SYLLABLE IT */
  {0xA001 , L  }, /* YI SYLLABLE IX */
  {0xA002 , L  }, /* YI SYLLABLE I */
  {0xA003 , L  }, /* YI SYLLABLE IP */
  {0xA004 , L  }, /* YI SYLLABLE IET */
  {0xA005 , L  }, /* YI SYLLABLE IEX */
  {0xA006 , L  }, /* YI SYLLABLE IE */
  {0xA007 , L  }, /* YI SYLLABLE IEP */
  {0xA008 , L  }, /* YI SYLLABLE AT */
  {0xA009 , L  }, /* YI SYLLABLE AX */
  {0xA00A , L  }, /* YI SYLLABLE A */
  {0xA00B , L  }, /* YI SYLLABLE AP */
  {0xA00C , L  }, /* YI SYLLABLE UOX */
  {0xA00D , L  }, /* YI SYLLABLE UO */
  {0xA00E , L  }, /* YI SYLLABLE UOP */
  {0xA00F , L  }, /* YI SYLLABLE OT */
  {0xA010 , L  }, /* YI SYLLABLE OX */
  {0xA011 , L  }, /* YI SYLLABLE O */
  {0xA012 , L  }, /* YI SYLLABLE OP */
  {0xA013 , L  }, /* YI SYLLABLE EX */
  {0xA014 , L  }, /* YI SYLLABLE E */
  {0xA015 , L  }, /* YI SYLLABLE WU */
  {0xA016 , L  }, /* YI SYLLABLE BIT */
  {0xA017 , L  }, /* YI SYLLABLE BIX */
  {0xA018 , L  }, /* YI SYLLABLE BI */
  {0xA019 , L  }, /* YI SYLLABLE BIP */
  {0xA01A , L  }, /* YI SYLLABLE BIET */
  {0xA01B , L  }, /* YI SYLLABLE BIEX */
  {0xA01C , L  }, /* YI SYLLABLE BIE */
  {0xA01D , L  }, /* YI SYLLABLE BIEP */
  {0xA01E , L  }, /* YI SYLLABLE BAT */
  {0xA01F , L  }, /* YI SYLLABLE BAX */
  {0xA020 , L  }, /* YI SYLLABLE BA */
  {0xA021 , L  }, /* YI SYLLABLE BAP */
  {0xA022 , L  }, /* YI SYLLABLE BUOX */
  {0xA023 , L  }, /* YI SYLLABLE BUO */
  {0xA024 , L  }, /* YI SYLLABLE BUOP */
  {0xA025 , L  }, /* YI SYLLABLE BOT */
  {0xA026 , L  }, /* YI SYLLABLE BOX */
  {0xA027 , L  }, /* YI SYLLABLE BO */
  {0xA028 , L  }, /* YI SYLLABLE BOP */
  {0xA029 , L  }, /* YI SYLLABLE BEX */
  {0xA02A , L  }, /* YI SYLLABLE BE */
  {0xA02B , L  }, /* YI SYLLABLE BEP */
  {0xA02C , L  }, /* YI SYLLABLE BUT */
  {0xA02D , L  }, /* YI SYLLABLE BUX */
  {0xA02E , L  }, /* YI SYLLABLE BU */
  {0xA02F , L  }, /* YI SYLLABLE BUP */
  {0xA030 , L  }, /* YI SYLLABLE BURX */
  {0xA031 , L  }, /* YI SYLLABLE BUR */
  {0xA032 , L  }, /* YI SYLLABLE BYT */
  {0xA033 , L  }, /* YI SYLLABLE BYX */
  {0xA034 , L  }, /* YI SYLLABLE BY */
  {0xA035 , L  }, /* YI SYLLABLE BYP */
  {0xA036 , L  }, /* YI SYLLABLE BYRX */
  {0xA037 , L  }, /* YI SYLLABLE BYR */
  {0xA038 , L  }, /* YI SYLLABLE PIT */
  {0xA039 , L  }, /* YI SYLLABLE PIX */
  {0xA03A , L  }, /* YI SYLLABLE PI */
  {0xA03B , L  }, /* YI SYLLABLE PIP */
  {0xA03C , L  }, /* YI SYLLABLE PIEX */
  {0xA03D , L  }, /* YI SYLLABLE PIE */
  {0xA03E , L  }, /* YI SYLLABLE PIEP */
  {0xA03F , L  }, /* YI SYLLABLE PAT */
  {0xA040 , L  }, /* YI SYLLABLE PAX */
  {0xA041 , L  }, /* YI SYLLABLE PA */
  {0xA042 , L  }, /* YI SYLLABLE PAP */
  {0xA043 , L  }, /* YI SYLLABLE PUOX */
  {0xA044 , L  }, /* YI SYLLABLE PUO */
  {0xA045 , L  }, /* YI SYLLABLE PUOP */
  {0xA046 , L  }, /* YI SYLLABLE POT */
  {0xA047 , L  }, /* YI SYLLABLE POX */
  {0xA048 , L  }, /* YI SYLLABLE PO */
  {0xA049 , L  }, /* YI SYLLABLE POP */
  {0xA04A , L  }, /* YI SYLLABLE PUT */
  {0xA04B , L  }, /* YI SYLLABLE PUX */
  {0xA04C , L  }, /* YI SYLLABLE PU */
  {0xA04D , L  }, /* YI SYLLABLE PUP */
  {0xA04E , L  }, /* YI SYLLABLE PURX */
  {0xA04F , L  }, /* YI SYLLABLE PUR */
  {0xA050 , L  }, /* YI SYLLABLE PYT */
  {0xA051 , L  }, /* YI SYLLABLE PYX */
  {0xA052 , L  }, /* YI SYLLABLE PY */
  {0xA053 , L  }, /* YI SYLLABLE PYP */
  {0xA054 , L  }, /* YI SYLLABLE PYRX */
  {0xA055 , L  }, /* YI SYLLABLE PYR */
  {0xA056 , L  }, /* YI SYLLABLE BBIT */
  {0xA057 , L  }, /* YI SYLLABLE BBIX */
  {0xA058 , L  }, /* YI SYLLABLE BBI */
  {0xA059 , L  }, /* YI SYLLABLE BBIP */
  {0xA05A , L  }, /* YI SYLLABLE BBIET */
  {0xA05B , L  }, /* YI SYLLABLE BBIEX */
  {0xA05C , L  }, /* YI SYLLABLE BBIE */
  {0xA05D , L  }, /* YI SYLLABLE BBIEP */
  {0xA05E , L  }, /* YI SYLLABLE BBAT */
  {0xA05F , L  }, /* YI SYLLABLE BBAX */
  {0xA060 , L  }, /* YI SYLLABLE BBA */
  {0xA061 , L  }, /* YI SYLLABLE BBAP */
  {0xA062 , L  }, /* YI SYLLABLE BBUOX */
  {0xA063 , L  }, /* YI SYLLABLE BBUO */
  {0xA064 , L  }, /* YI SYLLABLE BBUOP */
  {0xA065 , L  }, /* YI SYLLABLE BBOT */
  {0xA066 , L  }, /* YI SYLLABLE BBOX */
  {0xA067 , L  }, /* YI SYLLABLE BBO */
  {0xA068 , L  }, /* YI SYLLABLE BBOP */
  {0xA069 , L  }, /* YI SYLLABLE BBEX */
  {0xA06A , L  }, /* YI SYLLABLE BBE */
  {0xA06B , L  }, /* YI SYLLABLE BBEP */
  {0xA06C , L  }, /* YI SYLLABLE BBUT */
  {0xA06D , L  }, /* YI SYLLABLE BBUX */
  {0xA06E , L  }, /* YI SYLLABLE BBU */
  {0xA06F , L  }, /* YI SYLLABLE BBUP */
  {0xA070 , L  }, /* YI SYLLABLE BBURX */
  {0xA071 , L  }, /* YI SYLLABLE BBUR */
  {0xA072 , L  }, /* YI SYLLABLE BBYT */
  {0xA073 , L  }, /* YI SYLLABLE BBYX */
  {0xA074 , L  }, /* YI SYLLABLE BBY */
  {0xA075 , L  }, /* YI SYLLABLE BBYP */
  {0xA076 , L  }, /* YI SYLLABLE NBIT */
  {0xA077 , L  }, /* YI SYLLABLE NBIX */
  {0xA078 , L  }, /* YI SYLLABLE NBI */
  {0xA079 , L  }, /* YI SYLLABLE NBIP */
  {0xA07A , L  }, /* YI SYLLABLE NBIEX */
  {0xA07B , L  }, /* YI SYLLABLE NBIE */
  {0xA07C , L  }, /* YI SYLLABLE NBIEP */
  {0xA07D , L  }, /* YI SYLLABLE NBAT */
  {0xA07E , L  }, /* YI SYLLABLE NBAX */
  {0xA07F , L  }, /* YI SYLLABLE NBA */
  {0xA080 , L  }, /* YI SYLLABLE NBAP */
  {0xA081 , L  }, /* YI SYLLABLE NBOT */
  {0xA082 , L  }, /* YI SYLLABLE NBOX */
  {0xA083 , L  }, /* YI SYLLABLE NBO */
  {0xA084 , L  }, /* YI SYLLABLE NBOP */
  {0xA085 , L  }, /* YI SYLLABLE NBUT */
  {0xA086 , L  }, /* YI SYLLABLE NBUX */
  {0xA087 , L  }, /* YI SYLLABLE NBU */
  {0xA088 , L  }, /* YI SYLLABLE NBUP */
  {0xA089 , L  }, /* YI SYLLABLE NBURX */
  {0xA08A , L  }, /* YI SYLLABLE NBUR */
  {0xA08B , L  }, /* YI SYLLABLE NBYT */
  {0xA08C , L  }, /* YI SYLLABLE NBYX */
  {0xA08D , L  }, /* YI SYLLABLE NBY */
  {0xA08E , L  }, /* YI SYLLABLE NBYP */
  {0xA08F , L  }, /* YI SYLLABLE NBYRX */
  {0xA090 , L  }, /* YI SYLLABLE NBYR */
  {0xA091 , L  }, /* YI SYLLABLE HMIT */
  {0xA092 , L  }, /* YI SYLLABLE HMIX */
  {0xA093 , L  }, /* YI SYLLABLE HMI */
  {0xA094 , L  }, /* YI SYLLABLE HMIP */
  {0xA095 , L  }, /* YI SYLLABLE HMIEX */
  {0xA096 , L  }, /* YI SYLLABLE HMIE */
  {0xA097 , L  }, /* YI SYLLABLE HMIEP */
  {0xA098 , L  }, /* YI SYLLABLE HMAT */
  {0xA099 , L  }, /* YI SYLLABLE HMAX */
  {0xA09A , L  }, /* YI SYLLABLE HMA */
  {0xA09B , L  }, /* YI SYLLABLE HMAP */
  {0xA09C , L  }, /* YI SYLLABLE HMUOX */
  {0xA09D , L  }, /* YI SYLLABLE HMUO */
  {0xA09E , L  }, /* YI SYLLABLE HMUOP */
  {0xA09F , L  }, /* YI SYLLABLE HMOT */
  {0xA0A0 , L  }, /* YI SYLLABLE HMOX */
  {0xA0A1 , L  }, /* YI SYLLABLE HMO */
  {0xA0A2 , L  }, /* YI SYLLABLE HMOP */
  {0xA0A3 , L  }, /* YI SYLLABLE HMUT */
  {0xA0A4 , L  }, /* YI SYLLABLE HMUX */
  {0xA0A5 , L  }, /* YI SYLLABLE HMU */
  {0xA0A6 , L  }, /* YI SYLLABLE HMUP */
  {0xA0A7 , L  }, /* YI SYLLABLE HMURX */
  {0xA0A8 , L  }, /* YI SYLLABLE HMUR */
  {0xA0A9 , L  }, /* YI SYLLABLE HMYX */
  {0xA0AA , L  }, /* YI SYLLABLE HMY */
  {0xA0AB , L  }, /* YI SYLLABLE HMYP */
  {0xA0AC , L  }, /* YI SYLLABLE HMYRX */
  {0xA0AD , L  }, /* YI SYLLABLE HMYR */
  {0xA0AE , L  }, /* YI SYLLABLE MIT */
  {0xA0AF , L  }, /* YI SYLLABLE MIX */
  {0xA0B0 , L  }, /* YI SYLLABLE MI */
  {0xA0B1 , L  }, /* YI SYLLABLE MIP */
  {0xA0B2 , L  }, /* YI SYLLABLE MIEX */
  {0xA0B3 , L  }, /* YI SYLLABLE MIE */
  {0xA0B4 , L  }, /* YI SYLLABLE MIEP */
  {0xA0B5 , L  }, /* YI SYLLABLE MAT */
  {0xA0B6 , L  }, /* YI SYLLABLE MAX */
  {0xA0B7 , L  }, /* YI SYLLABLE MA */
  {0xA0B8 , L  }, /* YI SYLLABLE MAP */
  {0xA0B9 , L  }, /* YI SYLLABLE MUOT */
  {0xA0BA , L  }, /* YI SYLLABLE MUOX */
  {0xA0BB , L  }, /* YI SYLLABLE MUO */
  {0xA0BC , L  }, /* YI SYLLABLE MUOP */
  {0xA0BD , L  }, /* YI SYLLABLE MOT */
  {0xA0BE , L  }, /* YI SYLLABLE MOX */
  {0xA0BF , L  }, /* YI SYLLABLE MO */
  {0xA0C0 , L  }, /* YI SYLLABLE MOP */
  {0xA0C1 , L  }, /* YI SYLLABLE MEX */
  {0xA0C2 , L  }, /* YI SYLLABLE ME */
  {0xA0C3 , L  }, /* YI SYLLABLE MUT */
  {0xA0C4 , L  }, /* YI SYLLABLE MUX */
  {0xA0C5 , L  }, /* YI SYLLABLE MU */
  {0xA0C6 , L  }, /* YI SYLLABLE MUP */
  {0xA0C7 , L  }, /* YI SYLLABLE MURX */
  {0xA0C8 , L  }, /* YI SYLLABLE MUR */
  {0xA0C9 , L  }, /* YI SYLLABLE MYT */
  {0xA0CA , L  }, /* YI SYLLABLE MYX */
  {0xA0CB , L  }, /* YI SYLLABLE MY */
  {0xA0CC , L  }, /* YI SYLLABLE MYP */
  {0xA0CD , L  }, /* YI SYLLABLE FIT */
  {0xA0CE , L  }, /* YI SYLLABLE FIX */
  {0xA0CF , L  }, /* YI SYLLABLE FI */
  {0xA0D0 , L  }, /* YI SYLLABLE FIP */
  {0xA0D1 , L  }, /* YI SYLLABLE FAT */
  {0xA0D2 , L  }, /* YI SYLLABLE FAX */
  {0xA0D3 , L  }, /* YI SYLLABLE FA */
  {0xA0D4 , L  }, /* YI SYLLABLE FAP */
  {0xA0D5 , L  }, /* YI SYLLABLE FOX */
  {0xA0D6 , L  }, /* YI SYLLABLE FO */
  {0xA0D7 , L  }, /* YI SYLLABLE FOP */
  {0xA0D8 , L  }, /* YI SYLLABLE FUT */
  {0xA0D9 , L  }, /* YI SYLLABLE FUX */
  {0xA0DA , L  }, /* YI SYLLABLE FU */
  {0xA0DB , L  }, /* YI SYLLABLE FUP */
  {0xA0DC , L  }, /* YI SYLLABLE FURX */
  {0xA0DD , L  }, /* YI SYLLABLE FUR */
  {0xA0DE , L  }, /* YI SYLLABLE FYT */
  {0xA0DF , L  }, /* YI SYLLABLE FYX */
  {0xA0E0 , L  }, /* YI SYLLABLE FY */
  {0xA0E1 , L  }, /* YI SYLLABLE FYP */
  {0xA0E2 , L  }, /* YI SYLLABLE VIT */
  {0xA0E3 , L  }, /* YI SYLLABLE VIX */
  {0xA0E4 , L  }, /* YI SYLLABLE VI */
  {0xA0E5 , L  }, /* YI SYLLABLE VIP */
  {0xA0E6 , L  }, /* YI SYLLABLE VIET */
  {0xA0E7 , L  }, /* YI SYLLABLE VIEX */
  {0xA0E8 , L  }, /* YI SYLLABLE VIE */
  {0xA0E9 , L  }, /* YI SYLLABLE VIEP */
  {0xA0EA , L  }, /* YI SYLLABLE VAT */
  {0xA0EB , L  }, /* YI SYLLABLE VAX */
  {0xA0EC , L  }, /* YI SYLLABLE VA */
  {0xA0ED , L  }, /* YI SYLLABLE VAP */
  {0xA0EE , L  }, /* YI SYLLABLE VOT */
  {0xA0EF , L  }, /* YI SYLLABLE VOX */
  {0xA0F0 , L  }, /* YI SYLLABLE VO */
  {0xA0F1 , L  }, /* YI SYLLABLE VOP */
  {0xA0F2 , L  }, /* YI SYLLABLE VEX */
  {0xA0F3 , L  }, /* YI SYLLABLE VEP */
  {0xA0F4 , L  }, /* YI SYLLABLE VUT */
  {0xA0F5 , L  }, /* YI SYLLABLE VUX */
  {0xA0F6 , L  }, /* YI SYLLABLE VU */
  {0xA0F7 , L  }, /* YI SYLLABLE VUP */
  {0xA0F8 , L  }, /* YI SYLLABLE VURX */
  {0xA0F9 , L  }, /* YI SYLLABLE VUR */
  {0xA0FA , L  }, /* YI SYLLABLE VYT */
  {0xA0FB , L  }, /* YI SYLLABLE VYX */
  {0xA0FC , L  }, /* YI SYLLABLE VY */
  {0xA0FD , L  }, /* YI SYLLABLE VYP */
  {0xA0FE , L  }, /* YI SYLLABLE VYRX */
  {0xA0FF , L  }, /* YI SYLLABLE VYR */
  {0xA100 , L  }, /* YI SYLLABLE DIT */
  {0xA101 , L  }, /* YI SYLLABLE DIX */
  {0xA102 , L  }, /* YI SYLLABLE DI */
  {0xA103 , L  }, /* YI SYLLABLE DIP */
  {0xA104 , L  }, /* YI SYLLABLE DIEX */
  {0xA105 , L  }, /* YI SYLLABLE DIE */
  {0xA106 , L  }, /* YI SYLLABLE DIEP */
  {0xA107 , L  }, /* YI SYLLABLE DAT */
  {0xA108 , L  }, /* YI SYLLABLE DAX */
  {0xA109 , L  }, /* YI SYLLABLE DA */
  {0xA10A , L  }, /* YI SYLLABLE DAP */
  {0xA10B , L  }, /* YI SYLLABLE DUOX */
  {0xA10C , L  }, /* YI SYLLABLE DUO */
  {0xA10D , L  }, /* YI SYLLABLE DOT */
  {0xA10E , L  }, /* YI SYLLABLE DOX */
  {0xA10F , L  }, /* YI SYLLABLE DO */
  {0xA110 , L  }, /* YI SYLLABLE DOP */
  {0xA111 , L  }, /* YI SYLLABLE DEX */
  {0xA112 , L  }, /* YI SYLLABLE DE */
  {0xA113 , L  }, /* YI SYLLABLE DEP */
  {0xA114 , L  }, /* YI SYLLABLE DUT */
  {0xA115 , L  }, /* YI SYLLABLE DUX */
  {0xA116 , L  }, /* YI SYLLABLE DU */
  {0xA117 , L  }, /* YI SYLLABLE DUP */
  {0xA118 , L  }, /* YI SYLLABLE DURX */
  {0xA119 , L  }, /* YI SYLLABLE DUR */
  {0xA11A , L  }, /* YI SYLLABLE TIT */
  {0xA11B , L  }, /* YI SYLLABLE TIX */
  {0xA11C , L  }, /* YI SYLLABLE TI */
  {0xA11D , L  }, /* YI SYLLABLE TIP */
  {0xA11E , L  }, /* YI SYLLABLE TIEX */
  {0xA11F , L  }, /* YI SYLLABLE TIE */
  {0xA120 , L  }, /* YI SYLLABLE TIEP */
  {0xA121 , L  }, /* YI SYLLABLE TAT */
  {0xA122 , L  }, /* YI SYLLABLE TAX */
  {0xA123 , L  }, /* YI SYLLABLE TA */
  {0xA124 , L  }, /* YI SYLLABLE TAP */
  {0xA125 , L  }, /* YI SYLLABLE TUOT */
  {0xA126 , L  }, /* YI SYLLABLE TUOX */
  {0xA127 , L  }, /* YI SYLLABLE TUO */
  {0xA128 , L  }, /* YI SYLLABLE TUOP */
  {0xA129 , L  }, /* YI SYLLABLE TOT */
  {0xA12A , L  }, /* YI SYLLABLE TOX */
  {0xA12B , L  }, /* YI SYLLABLE TO */
  {0xA12C , L  }, /* YI SYLLABLE TOP */
  {0xA12D , L  }, /* YI SYLLABLE TEX */
  {0xA12E , L  }, /* YI SYLLABLE TE */
  {0xA12F , L  }, /* YI SYLLABLE TEP */
  {0xA130 , L  }, /* YI SYLLABLE TUT */
  {0xA131 , L  }, /* YI SYLLABLE TUX */
  {0xA132 , L  }, /* YI SYLLABLE TU */
  {0xA133 , L  }, /* YI SYLLABLE TUP */
  {0xA134 , L  }, /* YI SYLLABLE TURX */
  {0xA135 , L  }, /* YI SYLLABLE TUR */
  {0xA136 , L  }, /* YI SYLLABLE DDIT */
  {0xA137 , L  }, /* YI SYLLABLE DDIX */
  {0xA138 , L  }, /* YI SYLLABLE DDI */
  {0xA139 , L  }, /* YI SYLLABLE DDIP */
  {0xA13A , L  }, /* YI SYLLABLE DDIEX */
  {0xA13B , L  }, /* YI SYLLABLE DDIE */
  {0xA13C , L  }, /* YI SYLLABLE DDIEP */
  {0xA13D , L  }, /* YI SYLLABLE DDAT */
  {0xA13E , L  }, /* YI SYLLABLE DDAX */
  {0xA13F , L  }, /* YI SYLLABLE DDA */
  {0xA140 , L  }, /* YI SYLLABLE DDAP */
  {0xA141 , L  }, /* YI SYLLABLE DDUOX */
  {0xA142 , L  }, /* YI SYLLABLE DDUO */
  {0xA143 , L  }, /* YI SYLLABLE DDUOP */
  {0xA144 , L  }, /* YI SYLLABLE DDOT */
  {0xA145 , L  }, /* YI SYLLABLE DDOX */
  {0xA146 , L  }, /* YI SYLLABLE DDO */
  {0xA147 , L  }, /* YI SYLLABLE DDOP */
  {0xA148 , L  }, /* YI SYLLABLE DDEX */
  {0xA149 , L  }, /* YI SYLLABLE DDE */
  {0xA14A , L  }, /* YI SYLLABLE DDEP */
  {0xA14B , L  }, /* YI SYLLABLE DDUT */
  {0xA14C , L  }, /* YI SYLLABLE DDUX */
  {0xA14D , L  }, /* YI SYLLABLE DDU */
  {0xA14E , L  }, /* YI SYLLABLE DDUP */
  {0xA14F , L  }, /* YI SYLLABLE DDURX */
  {0xA150 , L  }, /* YI SYLLABLE DDUR */
  {0xA151 , L  }, /* YI SYLLABLE NDIT */
  {0xA152 , L  }, /* YI SYLLABLE NDIX */
  {0xA153 , L  }, /* YI SYLLABLE NDI */
  {0xA154 , L  }, /* YI SYLLABLE NDIP */
  {0xA155 , L  }, /* YI SYLLABLE NDIEX */
  {0xA156 , L  }, /* YI SYLLABLE NDIE */
  {0xA157 , L  }, /* YI SYLLABLE NDAT */
  {0xA158 , L  }, /* YI SYLLABLE NDAX */
  {0xA159 , L  }, /* YI SYLLABLE NDA */
  {0xA15A , L  }, /* YI SYLLABLE NDAP */
  {0xA15B , L  }, /* YI SYLLABLE NDOT */
  {0xA15C , L  }, /* YI SYLLABLE NDOX */
  {0xA15D , L  }, /* YI SYLLABLE NDO */
  {0xA15E , L  }, /* YI SYLLABLE NDOP */
  {0xA15F , L  }, /* YI SYLLABLE NDEX */
  {0xA160 , L  }, /* YI SYLLABLE NDE */
  {0xA161 , L  }, /* YI SYLLABLE NDEP */
  {0xA162 , L  }, /* YI SYLLABLE NDUT */
  {0xA163 , L  }, /* YI SYLLABLE NDUX */
  {0xA164 , L  }, /* YI SYLLABLE NDU */
  {0xA165 , L  }, /* YI SYLLABLE NDUP */
  {0xA166 , L  }, /* YI SYLLABLE NDURX */
  {0xA167 , L  }, /* YI SYLLABLE NDUR */
  {0xA168 , L  }, /* YI SYLLABLE HNIT */
  {0xA169 , L  }, /* YI SYLLABLE HNIX */
  {0xA16A , L  }, /* YI SYLLABLE HNI */
  {0xA16B , L  }, /* YI SYLLABLE HNIP */
  {0xA16C , L  }, /* YI SYLLABLE HNIET */
  {0xA16D , L  }, /* YI SYLLABLE HNIEX */
  {0xA16E , L  }, /* YI SYLLABLE HNIE */
  {0xA16F , L  }, /* YI SYLLABLE HNIEP */
  {0xA170 , L  }, /* YI SYLLABLE HNAT */
  {0xA171 , L  }, /* YI SYLLABLE HNAX */
  {0xA172 , L  }, /* YI SYLLABLE HNA */
  {0xA173 , L  }, /* YI SYLLABLE HNAP */
  {0xA174 , L  }, /* YI SYLLABLE HNUOX */
  {0xA175 , L  }, /* YI SYLLABLE HNUO */
  {0xA176 , L  }, /* YI SYLLABLE HNOT */
  {0xA177 , L  }, /* YI SYLLABLE HNOX */
  {0xA178 , L  }, /* YI SYLLABLE HNOP */
  {0xA179 , L  }, /* YI SYLLABLE HNEX */
  {0xA17A , L  }, /* YI SYLLABLE HNE */
  {0xA17B , L  }, /* YI SYLLABLE HNEP */
  {0xA17C , L  }, /* YI SYLLABLE HNUT */
  {0xA17D , L  }, /* YI SYLLABLE NIT */
  {0xA17E , L  }, /* YI SYLLABLE NIX */
  {0xA17F , L  }, /* YI SYLLABLE NI */
  {0xA180 , L  }, /* YI SYLLABLE NIP */
  {0xA181 , L  }, /* YI SYLLABLE NIEX */
  {0xA182 , L  }, /* YI SYLLABLE NIE */
  {0xA183 , L  }, /* YI SYLLABLE NIEP */
  {0xA184 , L  }, /* YI SYLLABLE NAX */
  {0xA185 , L  }, /* YI SYLLABLE NA */
  {0xA186 , L  }, /* YI SYLLABLE NAP */
  {0xA187 , L  }, /* YI SYLLABLE NUOX */
  {0xA188 , L  }, /* YI SYLLABLE NUO */
  {0xA189 , L  }, /* YI SYLLABLE NUOP */
  {0xA18A , L  }, /* YI SYLLABLE NOT */
  {0xA18B , L  }, /* YI SYLLABLE NOX */
  {0xA18C , L  }, /* YI SYLLABLE NO */
  {0xA18D , L  }, /* YI SYLLABLE NOP */
  {0xA18E , L  }, /* YI SYLLABLE NEX */
  {0xA18F , L  }, /* YI SYLLABLE NE */
  {0xA190 , L  }, /* YI SYLLABLE NEP */
  {0xA191 , L  }, /* YI SYLLABLE NUT */
  {0xA192 , L  }, /* YI SYLLABLE NUX */
  {0xA193 , L  }, /* YI SYLLABLE NU */
  {0xA194 , L  }, /* YI SYLLABLE NUP */
  {0xA195 , L  }, /* YI SYLLABLE NURX */
  {0xA196 , L  }, /* YI SYLLABLE NUR */
  {0xA197 , L  }, /* YI SYLLABLE HLIT */
  {0xA198 , L  }, /* YI SYLLABLE HLIX */
  {0xA199 , L  }, /* YI SYLLABLE HLI */
  {0xA19A , L  }, /* YI SYLLABLE HLIP */
  {0xA19B , L  }, /* YI SYLLABLE HLIEX */
  {0xA19C , L  }, /* YI SYLLABLE HLIE */
  {0xA19D , L  }, /* YI SYLLABLE HLIEP */
  {0xA19E , L  }, /* YI SYLLABLE HLAT */
  {0xA19F , L  }, /* YI SYLLABLE HLAX */
  {0xA1A0 , L  }, /* YI SYLLABLE HLA */
  {0xA1A1 , L  }, /* YI SYLLABLE HLAP */
  {0xA1A2 , L  }, /* YI SYLLABLE HLUOX */
  {0xA1A3 , L  }, /* YI SYLLABLE HLUO */
  {0xA1A4 , L  }, /* YI SYLLABLE HLUOP */
  {0xA1A5 , L  }, /* YI SYLLABLE HLOX */
  {0xA1A6 , L  }, /* YI SYLLABLE HLO */
  {0xA1A7 , L  }, /* YI SYLLABLE HLOP */
  {0xA1A8 , L  }, /* YI SYLLABLE HLEX */
  {0xA1A9 , L  }, /* YI SYLLABLE HLE */
  {0xA1AA , L  }, /* YI SYLLABLE HLEP */
  {0xA1AB , L  }, /* YI SYLLABLE HLUT */
  {0xA1AC , L  }, /* YI SYLLABLE HLUX */
  {0xA1AD , L  }, /* YI SYLLABLE HLU */
  {0xA1AE , L  }, /* YI SYLLABLE HLUP */
  {0xA1AF , L  }, /* YI SYLLABLE HLURX */
  {0xA1B0 , L  }, /* YI SYLLABLE HLUR */
  {0xA1B1 , L  }, /* YI SYLLABLE HLYT */
  {0xA1B2 , L  }, /* YI SYLLABLE HLYX */
  {0xA1B3 , L  }, /* YI SYLLABLE HLY */
  {0xA1B4 , L  }, /* YI SYLLABLE HLYP */
  {0xA1B5 , L  }, /* YI SYLLABLE HLYRX */
  {0xA1B6 , L  }, /* YI SYLLABLE HLYR */
  {0xA1B7 , L  }, /* YI SYLLABLE LIT */
  {0xA1B8 , L  }, /* YI SYLLABLE LIX */
  {0xA1B9 , L  }, /* YI SYLLABLE LI */
  {0xA1BA , L  }, /* YI SYLLABLE LIP */
  {0xA1BB , L  }, /* YI SYLLABLE LIET */
  {0xA1BC , L  }, /* YI SYLLABLE LIEX */
  {0xA1BD , L  }, /* YI SYLLABLE LIE */
  {0xA1BE , L  }, /* YI SYLLABLE LIEP */
  {0xA1BF , L  }, /* YI SYLLABLE LAT */
  {0xA1C0 , L  }, /* YI SYLLABLE LAX */
  {0xA1C1 , L  }, /* YI SYLLABLE LA */
  {0xA1C2 , L  }, /* YI SYLLABLE LAP */
  {0xA1C3 , L  }, /* YI SYLLABLE LUOT */
  {0xA1C4 , L  }, /* YI SYLLABLE LUOX */
  {0xA1C5 , L  }, /* YI SYLLABLE LUO */
  {0xA1C6 , L  }, /* YI SYLLABLE LUOP */
  {0xA1C7 , L  }, /* YI SYLLABLE LOT */
  {0xA1C8 , L  }, /* YI SYLLABLE LOX */
  {0xA1C9 , L  }, /* YI SYLLABLE LO */
  {0xA1CA , L  }, /* YI SYLLABLE LOP */
  {0xA1CB , L  }, /* YI SYLLABLE LEX */
  {0xA1CC , L  }, /* YI SYLLABLE LE */
  {0xA1CD , L  }, /* YI SYLLABLE LEP */
  {0xA1CE , L  }, /* YI SYLLABLE LUT */
  {0xA1CF , L  }, /* YI SYLLABLE LUX */
  {0xA1D0 , L  }, /* YI SYLLABLE LU */
  {0xA1D1 , L  }, /* YI SYLLABLE LUP */
  {0xA1D2 , L  }, /* YI SYLLABLE LURX */
  {0xA1D3 , L  }, /* YI SYLLABLE LUR */
  {0xA1D4 , L  }, /* YI SYLLABLE LYT */
  {0xA1D5 , L  }, /* YI SYLLABLE LYX */
  {0xA1D6 , L  }, /* YI SYLLABLE LY */
  {0xA1D7 , L  }, /* YI SYLLABLE LYP */
  {0xA1D8 , L  }, /* YI SYLLABLE LYRX */
  {0xA1D9 , L  }, /* YI SYLLABLE LYR */
  {0xA1DA , L  }, /* YI SYLLABLE GIT */
  {0xA1DB , L  }, /* YI SYLLABLE GIX */
  {0xA1DC , L  }, /* YI SYLLABLE GI */
  {0xA1DD , L  }, /* YI SYLLABLE GIP */
  {0xA1DE , L  }, /* YI SYLLABLE GIET */
  {0xA1DF , L  }, /* YI SYLLABLE GIEX */
  {0xA1E0 , L  }, /* YI SYLLABLE GIE */
  {0xA1E1 , L  }, /* YI SYLLABLE GIEP */
  {0xA1E2 , L  }, /* YI SYLLABLE GAT */
  {0xA1E3 , L  }, /* YI SYLLABLE GAX */
  {0xA1E4 , L  }, /* YI SYLLABLE GA */
  {0xA1E5 , L  }, /* YI SYLLABLE GAP */
  {0xA1E6 , L  }, /* YI SYLLABLE GUOT */
  {0xA1E7 , L  }, /* YI SYLLABLE GUOX */
  {0xA1E8 , L  }, /* YI SYLLABLE GUO */
  {0xA1E9 , L  }, /* YI SYLLABLE GUOP */
  {0xA1EA , L  }, /* YI SYLLABLE GOT */
  {0xA1EB , L  }, /* YI SYLLABLE GOX */
  {0xA1EC , L  }, /* YI SYLLABLE GO */
  {0xA1ED , L  }, /* YI SYLLABLE GOP */
  {0xA1EE , L  }, /* YI SYLLABLE GET */
  {0xA1EF , L  }, /* YI SYLLABLE GEX */
  {0xA1F0 , L  }, /* YI SYLLABLE GE */
  {0xA1F1 , L  }, /* YI SYLLABLE GEP */
  {0xA1F2 , L  }, /* YI SYLLABLE GUT */
  {0xA1F3 , L  }, /* YI SYLLABLE GUX */
  {0xA1F4 , L  }, /* YI SYLLABLE GU */
  {0xA1F5 , L  }, /* YI SYLLABLE GUP */
  {0xA1F6 , L  }, /* YI SYLLABLE GURX */
  {0xA1F7 , L  }, /* YI SYLLABLE GUR */
  {0xA1F8 , L  }, /* YI SYLLABLE KIT */
  {0xA1F9 , L  }, /* YI SYLLABLE KIX */
  {0xA1FA , L  }, /* YI SYLLABLE KI */
  {0xA1FB , L  }, /* YI SYLLABLE KIP */
  {0xA1FC , L  }, /* YI SYLLABLE KIEX */
  {0xA1FD , L  }, /* YI SYLLABLE KIE */
  {0xA1FE , L  }, /* YI SYLLABLE KIEP */
  {0xA1FF , L  }, /* YI SYLLABLE KAT */
  {0xA200 , L  }, /* YI SYLLABLE KAX */
  {0xA201 , L  }, /* YI SYLLABLE KA */
  {0xA202 , L  }, /* YI SYLLABLE KAP */
  {0xA203 , L  }, /* YI SYLLABLE KUOX */
  {0xA204 , L  }, /* YI SYLLABLE KUO */
  {0xA205 , L  }, /* YI SYLLABLE KUOP */
  {0xA206 , L  }, /* YI SYLLABLE KOT */
  {0xA207 , L  }, /* YI SYLLABLE KOX */
  {0xA208 , L  }, /* YI SYLLABLE KO */
  {0xA209 , L  }, /* YI SYLLABLE KOP */
  {0xA20A , L  }, /* YI SYLLABLE KET */
  {0xA20B , L  }, /* YI SYLLABLE KEX */
  {0xA20C , L  }, /* YI SYLLABLE KE */
  {0xA20D , L  }, /* YI SYLLABLE KEP */
  {0xA20E , L  }, /* YI SYLLABLE KUT */
  {0xA20F , L  }, /* YI SYLLABLE KUX */
  {0xA210 , L  }, /* YI SYLLABLE KU */
  {0xA211 , L  }, /* YI SYLLABLE KUP */
  {0xA212 , L  }, /* YI SYLLABLE KURX */
  {0xA213 , L  }, /* YI SYLLABLE KUR */
  {0xA214 , L  }, /* YI SYLLABLE GGIT */
  {0xA215 , L  }, /* YI SYLLABLE GGIX */
  {0xA216 , L  }, /* YI SYLLABLE GGI */
  {0xA217 , L  }, /* YI SYLLABLE GGIEX */
  {0xA218 , L  }, /* YI SYLLABLE GGIE */
  {0xA219 , L  }, /* YI SYLLABLE GGIEP */
  {0xA21A , L  }, /* YI SYLLABLE GGAT */
  {0xA21B , L  }, /* YI SYLLABLE GGAX */
  {0xA21C , L  }, /* YI SYLLABLE GGA */
  {0xA21D , L  }, /* YI SYLLABLE GGAP */
  {0xA21E , L  }, /* YI SYLLABLE GGUOT */
  {0xA21F , L  }, /* YI SYLLABLE GGUOX */
  {0xA220 , L  }, /* YI SYLLABLE GGUO */
  {0xA221 , L  }, /* YI SYLLABLE GGUOP */
  {0xA222 , L  }, /* YI SYLLABLE GGOT */
  {0xA223 , L  }, /* YI SYLLABLE GGOX */
  {0xA224 , L  }, /* YI SYLLABLE GGO */
  {0xA225 , L  }, /* YI SYLLABLE GGOP */
  {0xA226 , L  }, /* YI SYLLABLE GGET */
  {0xA227 , L  }, /* YI SYLLABLE GGEX */
  {0xA228 , L  }, /* YI SYLLABLE GGE */
  {0xA229 , L  }, /* YI SYLLABLE GGEP */
  {0xA22A , L  }, /* YI SYLLABLE GGUT */
  {0xA22B , L  }, /* YI SYLLABLE GGUX */
  {0xA22C , L  }, /* YI SYLLABLE GGU */
  {0xA22D , L  }, /* YI SYLLABLE GGUP */
  {0xA22E , L  }, /* YI SYLLABLE GGURX */
  {0xA22F , L  }, /* YI SYLLABLE GGUR */
  {0xA230 , L  }, /* YI SYLLABLE MGIEX */
  {0xA231 , L  }, /* YI SYLLABLE MGIE */
  {0xA232 , L  }, /* YI SYLLABLE MGAT */
  {0xA233 , L  }, /* YI SYLLABLE MGAX */
  {0xA234 , L  }, /* YI SYLLABLE MGA */
  {0xA235 , L  }, /* YI SYLLABLE MGAP */
  {0xA236 , L  }, /* YI SYLLABLE MGUOX */
  {0xA237 , L  }, /* YI SYLLABLE MGUO */
  {0xA238 , L  }, /* YI SYLLABLE MGUOP */
  {0xA239 , L  }, /* YI SYLLABLE MGOT */
  {0xA23A , L  }, /* YI SYLLABLE MGOX */
  {0xA23B , L  }, /* YI SYLLABLE MGO */
  {0xA23C , L  }, /* YI SYLLABLE MGOP */
  {0xA23D , L  }, /* YI SYLLABLE MGEX */
  {0xA23E , L  }, /* YI SYLLABLE MGE */
  {0xA23F , L  }, /* YI SYLLABLE MGEP */
  {0xA240 , L  }, /* YI SYLLABLE MGUT */
  {0xA241 , L  }, /* YI SYLLABLE MGUX */
  {0xA242 , L  }, /* YI SYLLABLE MGU */
  {0xA243 , L  }, /* YI SYLLABLE MGUP */
  {0xA244 , L  }, /* YI SYLLABLE MGURX */
  {0xA245 , L  }, /* YI SYLLABLE MGUR */
  {0xA246 , L  }, /* YI SYLLABLE HXIT */
  {0xA247 , L  }, /* YI SYLLABLE HXIX */
  {0xA248 , L  }, /* YI SYLLABLE HXI */
  {0xA249 , L  }, /* YI SYLLABLE HXIP */
  {0xA24A , L  }, /* YI SYLLABLE HXIET */
  {0xA24B , L  }, /* YI SYLLABLE HXIEX */
  {0xA24C , L  }, /* YI SYLLABLE HXIE */
  {0xA24D , L  }, /* YI SYLLABLE HXIEP */
  {0xA24E , L  }, /* YI SYLLABLE HXAT */
  {0xA24F , L  }, /* YI SYLLABLE HXAX */
  {0xA250 , L  }, /* YI SYLLABLE HXA */
  {0xA251 , L  }, /* YI SYLLABLE HXAP */
  {0xA252 , L  }, /* YI SYLLABLE HXUOT */
  {0xA253 , L  }, /* YI SYLLABLE HXUOX */
  {0xA254 , L  }, /* YI SYLLABLE HXUO */
  {0xA255 , L  }, /* YI SYLLABLE HXUOP */
  {0xA256 , L  }, /* YI SYLLABLE HXOT */
  {0xA257 , L  }, /* YI SYLLABLE HXOX */
  {0xA258 , L  }, /* YI SYLLABLE HXO */
  {0xA259 , L  }, /* YI SYLLABLE HXOP */
  {0xA25A , L  }, /* YI SYLLABLE HXEX */
  {0xA25B , L  }, /* YI SYLLABLE HXE */
  {0xA25C , L  }, /* YI SYLLABLE HXEP */
  {0xA25D , L  }, /* YI SYLLABLE NGIEX */
  {0xA25E , L  }, /* YI SYLLABLE NGIE */
  {0xA25F , L  }, /* YI SYLLABLE NGIEP */
  {0xA260 , L  }, /* YI SYLLABLE NGAT */
  {0xA261 , L  }, /* YI SYLLABLE NGAX */
  {0xA262 , L  }, /* YI SYLLABLE NGA */
  {0xA263 , L  }, /* YI SYLLABLE NGAP */
  {0xA264 , L  }, /* YI SYLLABLE NGUOT */
  {0xA265 , L  }, /* YI SYLLABLE NGUOX */
  {0xA266 , L  }, /* YI SYLLABLE NGUO */
  {0xA267 , L  }, /* YI SYLLABLE NGOT */
  {0xA268 , L  }, /* YI SYLLABLE NGOX */
  {0xA269 , L  }, /* YI SYLLABLE NGO */
  {0xA26A , L  }, /* YI SYLLABLE NGOP */
  {0xA26B , L  }, /* YI SYLLABLE NGEX */
  {0xA26C , L  }, /* YI SYLLABLE NGE */
  {0xA26D , L  }, /* YI SYLLABLE NGEP */
  {0xA26E , L  }, /* YI SYLLABLE HIT */
  {0xA26F , L  }, /* YI SYLLABLE HIEX */
  {0xA270 , L  }, /* YI SYLLABLE HIE */
  {0xA271 , L  }, /* YI SYLLABLE HAT */
  {0xA272 , L  }, /* YI SYLLABLE HAX */
  {0xA273 , L  }, /* YI SYLLABLE HA */
  {0xA274 , L  }, /* YI SYLLABLE HAP */
  {0xA275 , L  }, /* YI SYLLABLE HUOT */
  {0xA276 , L  }, /* YI SYLLABLE HUOX */
  {0xA277 , L  }, /* YI SYLLABLE HUO */
  {0xA278 , L  }, /* YI SYLLABLE HUOP */
  {0xA279 , L  }, /* YI SYLLABLE HOT */
  {0xA27A , L  }, /* YI SYLLABLE HOX */
  {0xA27B , L  }, /* YI SYLLABLE HO */
  {0xA27C , L  }, /* YI SYLLABLE HOP */
  {0xA27D , L  }, /* YI SYLLABLE HEX */
  {0xA27E , L  }, /* YI SYLLABLE HE */
  {0xA27F , L  }, /* YI SYLLABLE HEP */
  {0xA280 , L  }, /* YI SYLLABLE WAT */
  {0xA281 , L  }, /* YI SYLLABLE WAX */
  {0xA282 , L  }, /* YI SYLLABLE WA */
  {0xA283 , L  }, /* YI SYLLABLE WAP */
  {0xA284 , L  }, /* YI SYLLABLE WUOX */
  {0xA285 , L  }, /* YI SYLLABLE WUO */
  {0xA286 , L  }, /* YI SYLLABLE WUOP */
  {0xA287 , L  }, /* YI SYLLABLE WOX */
  {0xA288 , L  }, /* YI SYLLABLE WO */
  {0xA289 , L  }, /* YI SYLLABLE WOP */
  {0xA28A , L  }, /* YI SYLLABLE WEX */
  {0xA28B , L  }, /* YI SYLLABLE WE */
  {0xA28C , L  }, /* YI SYLLABLE WEP */
  {0xA28D , L  }, /* YI SYLLABLE ZIT */
  {0xA28E , L  }, /* YI SYLLABLE ZIX */
  {0xA28F , L  }, /* YI SYLLABLE ZI */
  {0xA290 , L  }, /* YI SYLLABLE ZIP */
  {0xA291 , L  }, /* YI SYLLABLE ZIEX */
  {0xA292 , L  }, /* YI SYLLABLE ZIE */
  {0xA293 , L  }, /* YI SYLLABLE ZIEP */
  {0xA294 , L  }, /* YI SYLLABLE ZAT */
  {0xA295 , L  }, /* YI SYLLABLE ZAX */
  {0xA296 , L  }, /* YI SYLLABLE ZA */
  {0xA297 , L  }, /* YI SYLLABLE ZAP */
  {0xA298 , L  }, /* YI SYLLABLE ZUOX */
  {0xA299 , L  }, /* YI SYLLABLE ZUO */
  {0xA29A , L  }, /* YI SYLLABLE ZUOP */
  {0xA29B , L  }, /* YI SYLLABLE ZOT */
  {0xA29C , L  }, /* YI SYLLABLE ZOX */
  {0xA29D , L  }, /* YI SYLLABLE ZO */
  {0xA29E , L  }, /* YI SYLLABLE ZOP */
  {0xA29F , L  }, /* YI SYLLABLE ZEX */
  {0xA2A0 , L  }, /* YI SYLLABLE ZE */
  {0xA2A1 , L  }, /* YI SYLLABLE ZEP */
  {0xA2A2 , L  }, /* YI SYLLABLE ZUT */
  {0xA2A3 , L  }, /* YI SYLLABLE ZUX */
  {0xA2A4 , L  }, /* YI SYLLABLE ZU */
  {0xA2A5 , L  }, /* YI SYLLABLE ZUP */
  {0xA2A6 , L  }, /* YI SYLLABLE ZURX */
  {0xA2A7 , L  }, /* YI SYLLABLE ZUR */
  {0xA2A8 , L  }, /* YI SYLLABLE ZYT */
  {0xA2A9 , L  }, /* YI SYLLABLE ZYX */
  {0xA2AA , L  }, /* YI SYLLABLE ZY */
  {0xA2AB , L  }, /* YI SYLLABLE ZYP */
  {0xA2AC , L  }, /* YI SYLLABLE ZYRX */
  {0xA2AD , L  }, /* YI SYLLABLE ZYR */
  {0xA2AE , L  }, /* YI SYLLABLE CIT */
  {0xA2AF , L  }, /* YI SYLLABLE CIX */
  {0xA2B0 , L  }, /* YI SYLLABLE CI */
  {0xA2B1 , L  }, /* YI SYLLABLE CIP */
  {0xA2B2 , L  }, /* YI SYLLABLE CIET */
  {0xA2B3 , L  }, /* YI SYLLABLE CIEX */
  {0xA2B4 , L  }, /* YI SYLLABLE CIE */
  {0xA2B5 , L  }, /* YI SYLLABLE CIEP */
  {0xA2B6 , L  }, /* YI SYLLABLE CAT */
  {0xA2B7 , L  }, /* YI SYLLABLE CAX */
  {0xA2B8 , L  }, /* YI SYLLABLE CA */
  {0xA2B9 , L  }, /* YI SYLLABLE CAP */
  {0xA2BA , L  }, /* YI SYLLABLE CUOX */
  {0xA2BB , L  }, /* YI SYLLABLE CUO */
  {0xA2BC , L  }, /* YI SYLLABLE CUOP */
  {0xA2BD , L  }, /* YI SYLLABLE COT */
  {0xA2BE , L  }, /* YI SYLLABLE COX */
  {0xA2BF , L  }, /* YI SYLLABLE CO */
  {0xA2C0 , L  }, /* YI SYLLABLE COP */
  {0xA2C1 , L  }, /* YI SYLLABLE CEX */
  {0xA2C2 , L  }, /* YI SYLLABLE CE */
  {0xA2C3 , L  }, /* YI SYLLABLE CEP */
  {0xA2C4 , L  }, /* YI SYLLABLE CUT */
  {0xA2C5 , L  }, /* YI SYLLABLE CUX */
  {0xA2C6 , L  }, /* YI SYLLABLE CU */
  {0xA2C7 , L  }, /* YI SYLLABLE CUP */
  {0xA2C8 , L  }, /* YI SYLLABLE CURX */
  {0xA2C9 , L  }, /* YI SYLLABLE CUR */
  {0xA2CA , L  }, /* YI SYLLABLE CYT */
  {0xA2CB , L  }, /* YI SYLLABLE CYX */
  {0xA2CC , L  }, /* YI SYLLABLE CY */
  {0xA2CD , L  }, /* YI SYLLABLE CYP */
  {0xA2CE , L  }, /* YI SYLLABLE CYRX */
  {0xA2CF , L  }, /* YI SYLLABLE CYR */
  {0xA2D0 , L  }, /* YI SYLLABLE ZZIT */
  {0xA2D1 , L  }, /* YI SYLLABLE ZZIX */
  {0xA2D2 , L  }, /* YI SYLLABLE ZZI */
  {0xA2D3 , L  }, /* YI SYLLABLE ZZIP */
  {0xA2D4 , L  }, /* YI SYLLABLE ZZIET */
  {0xA2D5 , L  }, /* YI SYLLABLE ZZIEX */
  {0xA2D6 , L  }, /* YI SYLLABLE ZZIE */
  {0xA2D7 , L  }, /* YI SYLLABLE ZZIEP */
  {0xA2D8 , L  }, /* YI SYLLABLE ZZAT */
  {0xA2D9 , L  }, /* YI SYLLABLE ZZAX */
  {0xA2DA , L  }, /* YI SYLLABLE ZZA */
  {0xA2DB , L  }, /* YI SYLLABLE ZZAP */
  {0xA2DC , L  }, /* YI SYLLABLE ZZOX */
  {0xA2DD , L  }, /* YI SYLLABLE ZZO */
  {0xA2DE , L  }, /* YI SYLLABLE ZZOP */
  {0xA2DF , L  }, /* YI SYLLABLE ZZEX */
  {0xA2E0 , L  }, /* YI SYLLABLE ZZE */
  {0xA2E1 , L  }, /* YI SYLLABLE ZZEP */
  {0xA2E2 , L  }, /* YI SYLLABLE ZZUX */
  {0xA2E3 , L  }, /* YI SYLLABLE ZZU */
  {0xA2E4 , L  }, /* YI SYLLABLE ZZUP */
  {0xA2E5 , L  }, /* YI SYLLABLE ZZURX */
  {0xA2E6 , L  }, /* YI SYLLABLE ZZUR */
  {0xA2E7 , L  }, /* YI SYLLABLE ZZYT */
  {0xA2E8 , L  }, /* YI SYLLABLE ZZYX */
  {0xA2E9 , L  }, /* YI SYLLABLE ZZY */
  {0xA2EA , L  }, /* YI SYLLABLE ZZYP */
  {0xA2EB , L  }, /* YI SYLLABLE ZZYRX */
  {0xA2EC , L  }, /* YI SYLLABLE ZZYR */
  {0xA2ED , L  }, /* YI SYLLABLE NZIT */
  {0xA2EE , L  }, /* YI SYLLABLE NZIX */
  {0xA2EF , L  }, /* YI SYLLABLE NZI */
  {0xA2F0 , L  }, /* YI SYLLABLE NZIP */
  {0xA2F1 , L  }, /* YI SYLLABLE NZIEX */
  {0xA2F2 , L  }, /* YI SYLLABLE NZIE */
  {0xA2F3 , L  }, /* YI SYLLABLE NZIEP */
  {0xA2F4 , L  }, /* YI SYLLABLE NZAT */
  {0xA2F5 , L  }, /* YI SYLLABLE NZAX */
  {0xA2F6 , L  }, /* YI SYLLABLE NZA */
  {0xA2F7 , L  }, /* YI SYLLABLE NZAP */
  {0xA2F8 , L  }, /* YI SYLLABLE NZUOX */
  {0xA2F9 , L  }, /* YI SYLLABLE NZUO */
  {0xA2FA , L  }, /* YI SYLLABLE NZOX */
  {0xA2FB , L  }, /* YI SYLLABLE NZOP */
  {0xA2FC , L  }, /* YI SYLLABLE NZEX */
  {0xA2FD , L  }, /* YI SYLLABLE NZE */
  {0xA2FE , L  }, /* YI SYLLABLE NZUX */
  {0xA2FF , L  }, /* YI SYLLABLE NZU */
  {0xA300 , L  }, /* YI SYLLABLE NZUP */
  {0xA301 , L  }, /* YI SYLLABLE NZURX */
  {0xA302 , L  }, /* YI SYLLABLE NZUR */
  {0xA303 , L  }, /* YI SYLLABLE NZYT */
  {0xA304 , L  }, /* YI SYLLABLE NZYX */
  {0xA305 , L  }, /* YI SYLLABLE NZY */
  {0xA306 , L  }, /* YI SYLLABLE NZYP */
  {0xA307 , L  }, /* YI SYLLABLE NZYRX */
  {0xA308 , L  }, /* YI SYLLABLE NZYR */
  {0xA309 , L  }, /* YI SYLLABLE SIT */
  {0xA30A , L  }, /* YI SYLLABLE SIX */
  {0xA30B , L  }, /* YI SYLLABLE SI */
  {0xA30C , L  }, /* YI SYLLABLE SIP */
  {0xA30D , L  }, /* YI SYLLABLE SIEX */
  {0xA30E , L  }, /* YI SYLLABLE SIE */
  {0xA30F , L  }, /* YI SYLLABLE SIEP */
  {0xA310 , L  }, /* YI SYLLABLE SAT */
  {0xA311 , L  }, /* YI SYLLABLE SAX */
  {0xA312 , L  }, /* YI SYLLABLE SA */
  {0xA313 , L  }, /* YI SYLLABLE SAP */
  {0xA314 , L  }, /* YI SYLLABLE SUOX */
  {0xA315 , L  }, /* YI SYLLABLE SUO */
  {0xA316 , L  }, /* YI SYLLABLE SUOP */
  {0xA317 , L  }, /* YI SYLLABLE SOT */
  {0xA318 , L  }, /* YI SYLLABLE SOX */
  {0xA319 , L  }, /* YI SYLLABLE SO */
  {0xA31A , L  }, /* YI SYLLABLE SOP */
  {0xA31B , L  }, /* YI SYLLABLE SEX */
  {0xA31C , L  }, /* YI SYLLABLE SE */
  {0xA31D , L  }, /* YI SYLLABLE SEP */
  {0xA31E , L  }, /* YI SYLLABLE SUT */
  {0xA31F , L  }, /* YI SYLLABLE SUX */
  {0xA320 , L  }, /* YI SYLLABLE SU */
  {0xA321 , L  }, /* YI SYLLABLE SUP */
  {0xA322 , L  }, /* YI SYLLABLE SURX */
  {0xA323 , L  }, /* YI SYLLABLE SUR */
  {0xA324 , L  }, /* YI SYLLABLE SYT */
  {0xA325 , L  }, /* YI SYLLABLE SYX */
  {0xA326 , L  }, /* YI SYLLABLE SY */
  {0xA327 , L  }, /* YI SYLLABLE SYP */
  {0xA328 , L  }, /* YI SYLLABLE SYRX */
  {0xA329 , L  }, /* YI SYLLABLE SYR */
  {0xA32A , L  }, /* YI SYLLABLE SSIT */
  {0xA32B , L  }, /* YI SYLLABLE SSIX */
  {0xA32C , L  }, /* YI SYLLABLE SSI */
  {0xA32D , L  }, /* YI SYLLABLE SSIP */
  {0xA32E , L  }, /* YI SYLLABLE SSIEX */
  {0xA32F , L  }, /* YI SYLLABLE SSIE */
  {0xA330 , L  }, /* YI SYLLABLE SSIEP */
  {0xA331 , L  }, /* YI SYLLABLE SSAT */
  {0xA332 , L  }, /* YI SYLLABLE SSAX */
  {0xA333 , L  }, /* YI SYLLABLE SSA */
  {0xA334 , L  }, /* YI SYLLABLE SSAP */
  {0xA335 , L  }, /* YI SYLLABLE SSOT */
  {0xA336 , L  }, /* YI SYLLABLE SSOX */
  {0xA337 , L  }, /* YI SYLLABLE SSO */
  {0xA338 , L  }, /* YI SYLLABLE SSOP */
  {0xA339 , L  }, /* YI SYLLABLE SSEX */
  {0xA33A , L  }, /* YI SYLLABLE SSE */
  {0xA33B , L  }, /* YI SYLLABLE SSEP */
  {0xA33C , L  }, /* YI SYLLABLE SSUT */
  {0xA33D , L  }, /* YI SYLLABLE SSUX */
  {0xA33E , L  }, /* YI SYLLABLE SSU */
  {0xA33F , L  }, /* YI SYLLABLE SSUP */
  {0xA340 , L  }, /* YI SYLLABLE SSYT */
  {0xA341 , L  }, /* YI SYLLABLE SSYX */
  {0xA342 , L  }, /* YI SYLLABLE SSY */
  {0xA343 , L  }, /* YI SYLLABLE SSYP */
  {0xA344 , L  }, /* YI SYLLABLE SSYRX */
  {0xA345 , L  }, /* YI SYLLABLE SSYR */
  {0xA346 , L  }, /* YI SYLLABLE ZHAT */
  {0xA347 , L  }, /* YI SYLLABLE ZHAX */
  {0xA348 , L  }, /* YI SYLLABLE ZHA */
  {0xA349 , L  }, /* YI SYLLABLE ZHAP */
  {0xA34A , L  }, /* YI SYLLABLE ZHUOX */
  {0xA34B , L  }, /* YI SYLLABLE ZHUO */
  {0xA34C , L  }, /* YI SYLLABLE ZHUOP */
  {0xA34D , L  }, /* YI SYLLABLE ZHOT */
  {0xA34E , L  }, /* YI SYLLABLE ZHOX */
  {0xA34F , L  }, /* YI SYLLABLE ZHO */
  {0xA350 , L  }, /* YI SYLLABLE ZHOP */
  {0xA351 , L  }, /* YI SYLLABLE ZHET */
  {0xA352 , L  }, /* YI SYLLABLE ZHEX */
  {0xA353 , L  }, /* YI SYLLABLE ZHE */
  {0xA354 , L  }, /* YI SYLLABLE ZHEP */
  {0xA355 , L  }, /* YI SYLLABLE ZHUT */
  {0xA356 , L  }, /* YI SYLLABLE ZHUX */
  {0xA357 , L  }, /* YI SYLLABLE ZHU */
  {0xA358 , L  }, /* YI SYLLABLE ZHUP */
  {0xA359 , L  }, /* YI SYLLABLE ZHURX */
  {0xA35A , L  }, /* YI SYLLABLE ZHUR */
  {0xA35B , L  }, /* YI SYLLABLE ZHYT */
  {0xA35C , L  }, /* YI SYLLABLE ZHYX */
  {0xA35D , L  }, /* YI SYLLABLE ZHY */
  {0xA35E , L  }, /* YI SYLLABLE ZHYP */
  {0xA35F , L  }, /* YI SYLLABLE ZHYRX */
  {0xA360 , L  }, /* YI SYLLABLE ZHYR */
  {0xA361 , L  }, /* YI SYLLABLE CHAT */
  {0xA362 , L  }, /* YI SYLLABLE CHAX */
  {0xA363 , L  }, /* YI SYLLABLE CHA */
  {0xA364 , L  }, /* YI SYLLABLE CHAP */
  {0xA365 , L  }, /* YI SYLLABLE CHUOT */
  {0xA366 , L  }, /* YI SYLLABLE CHUOX */
  {0xA367 , L  }, /* YI SYLLABLE CHUO */
  {0xA368 , L  }, /* YI SYLLABLE CHUOP */
  {0xA369 , L  }, /* YI SYLLABLE CHOT */
  {0xA36A , L  }, /* YI SYLLABLE CHOX */
  {0xA36B , L  }, /* YI SYLLABLE CHO */
  {0xA36C , L  }, /* YI SYLLABLE CHOP */
  {0xA36D , L  }, /* YI SYLLABLE CHET */
  {0xA36E , L  }, /* YI SYLLABLE CHEX */
  {0xA36F , L  }, /* YI SYLLABLE CHE */
  {0xA370 , L  }, /* YI SYLLABLE CHEP */
  {0xA371 , L  }, /* YI SYLLABLE CHUX */
  {0xA372 , L  }, /* YI SYLLABLE CHU */
  {0xA373 , L  }, /* YI SYLLABLE CHUP */
  {0xA374 , L  }, /* YI SYLLABLE CHURX */
  {0xA375 , L  }, /* YI SYLLABLE CHUR */
  {0xA376 , L  }, /* YI SYLLABLE CHYT */
  {0xA377 , L  }, /* YI SYLLABLE CHYX */
  {0xA378 , L  }, /* YI SYLLABLE CHY */
  {0xA379 , L  }, /* YI SYLLABLE CHYP */
  {0xA37A , L  }, /* YI SYLLABLE CHYRX */
  {0xA37B , L  }, /* YI SYLLABLE CHYR */
  {0xA37C , L  }, /* YI SYLLABLE RRAX */
  {0xA37D , L  }, /* YI SYLLABLE RRA */
  {0xA37E , L  }, /* YI SYLLABLE RRUOX */
  {0xA37F , L  }, /* YI SYLLABLE RRUO */
  {0xA380 , L  }, /* YI SYLLABLE RROT */
  {0xA381 , L  }, /* YI SYLLABLE RROX */
  {0xA382 , L  }, /* YI SYLLABLE RRO */
  {0xA383 , L  }, /* YI SYLLABLE RROP */
  {0xA384 , L  }, /* YI SYLLABLE RRET */
  {0xA385 , L  }, /* YI SYLLABLE RREX */
  {0xA386 , L  }, /* YI SYLLABLE RRE */
  {0xA387 , L  }, /* YI SYLLABLE RREP */
  {0xA388 , L  }, /* YI SYLLABLE RRUT */
  {0xA389 , L  }, /* YI SYLLABLE RRUX */
  {0xA38A , L  }, /* YI SYLLABLE RRU */
  {0xA38B , L  }, /* YI SYLLABLE RRUP */
  {0xA38C , L  }, /* YI SYLLABLE RRURX */
  {0xA38D , L  }, /* YI SYLLABLE RRUR */
  {0xA38E , L  }, /* YI SYLLABLE RRYT */
  {0xA38F , L  }, /* YI SYLLABLE RRYX */
  {0xA390 , L  }, /* YI SYLLABLE RRY */
  {0xA391 , L  }, /* YI SYLLABLE RRYP */
  {0xA392 , L  }, /* YI SYLLABLE RRYRX */
  {0xA393 , L  }, /* YI SYLLABLE RRYR */
  {0xA394 , L  }, /* YI SYLLABLE NRAT */
  {0xA395 , L  }, /* YI SYLLABLE NRAX */
  {0xA396 , L  }, /* YI SYLLABLE NRA */
  {0xA397 , L  }, /* YI SYLLABLE NRAP */
  {0xA398 , L  }, /* YI SYLLABLE NROX */
  {0xA399 , L  }, /* YI SYLLABLE NRO */
  {0xA39A , L  }, /* YI SYLLABLE NROP */
  {0xA39B , L  }, /* YI SYLLABLE NRET */
  {0xA39C , L  }, /* YI SYLLABLE NREX */
  {0xA39D , L  }, /* YI SYLLABLE NRE */
  {0xA39E , L  }, /* YI SYLLABLE NREP */
  {0xA39F , L  }, /* YI SYLLABLE NRUT */
  {0xA3A0 , L  }, /* YI SYLLABLE NRUX */
  {0xA3A1 , L  }, /* YI SYLLABLE NRU */
  {0xA3A2 , L  }, /* YI SYLLABLE NRUP */
  {0xA3A3 , L  }, /* YI SYLLABLE NRURX */
  {0xA3A4 , L  }, /* YI SYLLABLE NRUR */
  {0xA3A5 , L  }, /* YI SYLLABLE NRYT */
  {0xA3A6 , L  }, /* YI SYLLABLE NRYX */
  {0xA3A7 , L  }, /* YI SYLLABLE NRY */
  {0xA3A8 , L  }, /* YI SYLLABLE NRYP */
  {0xA3A9 , L  }, /* YI SYLLABLE NRYRX */
  {0xA3AA , L  }, /* YI SYLLABLE NRYR */
  {0xA3AB , L  }, /* YI SYLLABLE SHAT */
  {0xA3AC , L  }, /* YI SYLLABLE SHAX */
  {0xA3AD , L  }, /* YI SYLLABLE SHA */
  {0xA3AE , L  }, /* YI SYLLABLE SHAP */
  {0xA3AF , L  }, /* YI SYLLABLE SHUOX */
  {0xA3B0 , L  }, /* YI SYLLABLE SHUO */
  {0xA3B1 , L  }, /* YI SYLLABLE SHUOP */
  {0xA3B2 , L  }, /* YI SYLLABLE SHOT */
  {0xA3B3 , L  }, /* YI SYLLABLE SHOX */
  {0xA3B4 , L  }, /* YI SYLLABLE SHO */
  {0xA3B5 , L  }, /* YI SYLLABLE SHOP */
  {0xA3B6 , L  }, /* YI SYLLABLE SHET */
  {0xA3B7 , L  }, /* YI SYLLABLE SHEX */
  {0xA3B8 , L  }, /* YI SYLLABLE SHE */
  {0xA3B9 , L  }, /* YI SYLLABLE SHEP */
  {0xA3BA , L  }, /* YI SYLLABLE SHUT */
  {0xA3BB , L  }, /* YI SYLLABLE SHUX */
  {0xA3BC , L  }, /* YI SYLLABLE SHU */
  {0xA3BD , L  }, /* YI SYLLABLE SHUP */
  {0xA3BE , L  }, /* YI SYLLABLE SHURX */
  {0xA3BF , L  }, /* YI SYLLABLE SHUR */
  {0xA3C0 , L  }, /* YI SYLLABLE SHYT */
  {0xA3C1 , L  }, /* YI SYLLABLE SHYX */
  {0xA3C2 , L  }, /* YI SYLLABLE SHY */
  {0xA3C3 , L  }, /* YI SYLLABLE SHYP */
  {0xA3C4 , L  }, /* YI SYLLABLE SHYRX */
  {0xA3C5 , L  }, /* YI SYLLABLE SHYR */
  {0xA3C6 , L  }, /* YI SYLLABLE RAT */
  {0xA3C7 , L  }, /* YI SYLLABLE RAX */
  {0xA3C8 , L  }, /* YI SYLLABLE RA */
  {0xA3C9 , L  }, /* YI SYLLABLE RAP */
  {0xA3CA , L  }, /* YI SYLLABLE RUOX */
  {0xA3CB , L  }, /* YI SYLLABLE RUO */
  {0xA3CC , L  }, /* YI SYLLABLE RUOP */
  {0xA3CD , L  }, /* YI SYLLABLE ROT */
  {0xA3CE , L  }, /* YI SYLLABLE ROX */
  {0xA3CF , L  }, /* YI SYLLABLE RO */
  {0xA3D0 , L  }, /* YI SYLLABLE ROP */
  {0xA3D1 , L  }, /* YI SYLLABLE REX */
  {0xA3D2 , L  }, /* YI SYLLABLE RE */
  {0xA3D3 , L  }, /* YI SYLLABLE REP */
  {0xA3D4 , L  }, /* YI SYLLABLE RUT */
  {0xA3D5 , L  }, /* YI SYLLABLE RUX */
  {0xA3D6 , L  }, /* YI SYLLABLE RU */
  {0xA3D7 , L  }, /* YI SYLLABLE RUP */
  {0xA3D8 , L  }, /* YI SYLLABLE RURX */
  {0xA3D9 , L  }, /* YI SYLLABLE RUR */
  {0xA3DA , L  }, /* YI SYLLABLE RYT */
  {0xA3DB , L  }, /* YI SYLLABLE RYX */
  {0xA3DC , L  }, /* YI SYLLABLE RY */
  {0xA3DD , L  }, /* YI SYLLABLE RYP */
  {0xA3DE , L  }, /* YI SYLLABLE RYRX */
  {0xA3DF , L  }, /* YI SYLLABLE RYR */
  {0xA3E0 , L  }, /* YI SYLLABLE JIT */
  {0xA3E1 , L  }, /* YI SYLLABLE JIX */
  {0xA3E2 , L  }, /* YI SYLLABLE JI */
  {0xA3E3 , L  }, /* YI SYLLABLE JIP */
  {0xA3E4 , L  }, /* YI SYLLABLE JIET */
  {0xA3E5 , L  }, /* YI SYLLABLE JIEX */
  {0xA3E6 , L  }, /* YI SYLLABLE JIE */
  {0xA3E7 , L  }, /* YI SYLLABLE JIEP */
  {0xA3E8 , L  }, /* YI SYLLABLE JUOT */
  {0xA3E9 , L  }, /* YI SYLLABLE JUOX */
  {0xA3EA , L  }, /* YI SYLLABLE JUO */
  {0xA3EB , L  }, /* YI SYLLABLE JUOP */
  {0xA3EC , L  }, /* YI SYLLABLE JOT */
  {0xA3ED , L  }, /* YI SYLLABLE JOX */
  {0xA3EE , L  }, /* YI SYLLABLE JO */
  {0xA3EF , L  }, /* YI SYLLABLE JOP */
  {0xA3F0 , L  }, /* YI SYLLABLE JUT */
  {0xA3F1 , L  }, /* YI SYLLABLE JUX */
  {0xA3F2 , L  }, /* YI SYLLABLE JU */
  {0xA3F3 , L  }, /* YI SYLLABLE JUP */
  {0xA3F4 , L  }, /* YI SYLLABLE JURX */
  {0xA3F5 , L  }, /* YI SYLLABLE JUR */
  {0xA3F6 , L  }, /* YI SYLLABLE JYT */
  {0xA3F7 , L  }, /* YI SYLLABLE JYX */
  {0xA3F8 , L  }, /* YI SYLLABLE JY */
  {0xA3F9 , L  }, /* YI SYLLABLE JYP */
  {0xA3FA , L  }, /* YI SYLLABLE JYRX */
  {0xA3FB , L  }, /* YI SYLLABLE JYR */
  {0xA3FC , L  }, /* YI SYLLABLE QIT */
  {0xA3FD , L  }, /* YI SYLLABLE QIX */
  {0xA3FE , L  }, /* YI SYLLABLE QI */
  {0xA3FF , L  }, /* YI SYLLABLE QIP */
  {0xA400 , L  }, /* YI SYLLABLE QIET */
  {0xA401 , L  }, /* YI SYLLABLE QIEX */
  {0xA402 , L  }, /* YI SYLLABLE QIE */
  {0xA403 , L  }, /* YI SYLLABLE QIEP */
  {0xA404 , L  }, /* YI SYLLABLE QUOT */
  {0xA405 , L  }, /* YI SYLLABLE QUOX */
  {0xA406 , L  }, /* YI SYLLABLE QUO */
  {0xA407 , L  }, /* YI SYLLABLE QUOP */
  {0xA408 , L  }, /* YI SYLLABLE QOT */
  {0xA409 , L  }, /* YI SYLLABLE QOX */
  {0xA40A , L  }, /* YI SYLLABLE QO */
  {0xA40B , L  }, /* YI SYLLABLE QOP */
  {0xA40C , L  }, /* YI SYLLABLE QUT */
  {0xA40D , L  }, /* YI SYLLABLE QUX */
  {0xA40E , L  }, /* YI SYLLABLE QU */
  {0xA40F , L  }, /* YI SYLLABLE QUP */
  {0xA410 , L  }, /* YI SYLLABLE QURX */
  {0xA411 , L  }, /* YI SYLLABLE QUR */
  {0xA412 , L  }, /* YI SYLLABLE QYT */
  {0xA413 , L  }, /* YI SYLLABLE QYX */
  {0xA414 , L  }, /* YI SYLLABLE QY */
  {0xA415 , L  }, /* YI SYLLABLE QYP */
  {0xA416 , L  }, /* YI SYLLABLE QYRX */
  {0xA417 , L  }, /* YI SYLLABLE QYR */
  {0xA418 , L  }, /* YI SYLLABLE JJIT */
  {0xA419 , L  }, /* YI SYLLABLE JJIX */
  {0xA41A , L  }, /* YI SYLLABLE JJI */
  {0xA41B , L  }, /* YI SYLLABLE JJIP */
  {0xA41C , L  }, /* YI SYLLABLE JJIET */
  {0xA41D , L  }, /* YI SYLLABLE JJIEX */
  {0xA41E , L  }, /* YI SYLLABLE JJIE */
  {0xA41F , L  }, /* YI SYLLABLE JJIEP */
  {0xA420 , L  }, /* YI SYLLABLE JJUOX */
  {0xA421 , L  }, /* YI SYLLABLE JJUO */
  {0xA422 , L  }, /* YI SYLLABLE JJUOP */
  {0xA423 , L  }, /* YI SYLLABLE JJOT */
  {0xA424 , L  }, /* YI SYLLABLE JJOX */
  {0xA425 , L  }, /* YI SYLLABLE JJO */
  {0xA426 , L  }, /* YI SYLLABLE JJOP */
  {0xA427 , L  }, /* YI SYLLABLE JJUT */
  {0xA428 , L  }, /* YI SYLLABLE JJUX */
  {0xA429 , L  }, /* YI SYLLABLE JJU */
  {0xA42A , L  }, /* YI SYLLABLE JJUP */
  {0xA42B , L  }, /* YI SYLLABLE JJURX */
  {0xA42C , L  }, /* YI SYLLABLE JJUR */
  {0xA42D , L  }, /* YI SYLLABLE JJYT */
  {0xA42E , L  }, /* YI SYLLABLE JJYX */
  {0xA42F , L  }, /* YI SYLLABLE JJY */
  {0xA430 , L  }, /* YI SYLLABLE JJYP */
  {0xA431 , L  }, /* YI SYLLABLE NJIT */
  {0xA432 , L  }, /* YI SYLLABLE NJIX */
  {0xA433 , L  }, /* YI SYLLABLE NJI */
  {0xA434 , L  }, /* YI SYLLABLE NJIP */
  {0xA435 , L  }, /* YI SYLLABLE NJIET */
  {0xA436 , L  }, /* YI SYLLABLE NJIEX */
  {0xA437 , L  }, /* YI SYLLABLE NJIE */
  {0xA438 , L  }, /* YI SYLLABLE NJIEP */
  {0xA439 , L  }, /* YI SYLLABLE NJUOX */
  {0xA43A , L  }, /* YI SYLLABLE NJUO */
  {0xA43B , L  }, /* YI SYLLABLE NJOT */
  {0xA43C , L  }, /* YI SYLLABLE NJOX */
  {0xA43D , L  }, /* YI SYLLABLE NJO */
  {0xA43E , L  }, /* YI SYLLABLE NJOP */
  {0xA43F , L  }, /* YI SYLLABLE NJUX */
  {0xA440 , L  }, /* YI SYLLABLE NJU */
  {0xA441 , L  }, /* YI SYLLABLE NJUP */
  {0xA442 , L  }, /* YI SYLLABLE NJURX */
  {0xA443 , L  }, /* YI SYLLABLE NJUR */
  {0xA444 , L  }, /* YI SYLLABLE NJYT */
  {0xA445 , L  }, /* YI SYLLABLE NJYX */
  {0xA446 , L  }, /* YI SYLLABLE NJY */
  {0xA447 , L  }, /* YI SYLLABLE NJYP */
  {0xA448 , L  }, /* YI SYLLABLE NJYRX */
  {0xA449 , L  }, /* YI SYLLABLE NJYR */
  {0xA44A , L  }, /* YI SYLLABLE NYIT */
  {0xA44B , L  }, /* YI SYLLABLE NYIX */
  {0xA44C , L  }, /* YI SYLLABLE NYI */
  {0xA44D , L  }, /* YI SYLLABLE NYIP */
  {0xA44E , L  }, /* YI SYLLABLE NYIET */
  {0xA44F , L  }, /* YI SYLLABLE NYIEX */
  {0xA450 , L  }, /* YI SYLLABLE NYIE */
  {0xA451 , L  }, /* YI SYLLABLE NYIEP */
  {0xA452 , L  }, /* YI SYLLABLE NYUOX */
  {0xA453 , L  }, /* YI SYLLABLE NYUO */
  {0xA454 , L  }, /* YI SYLLABLE NYUOP */
  {0xA455 , L  }, /* YI SYLLABLE NYOT */
  {0xA456 , L  }, /* YI SYLLABLE NYOX */
  {0xA457 , L  }, /* YI SYLLABLE NYO */
  {0xA458 , L  }, /* YI SYLLABLE NYOP */
  {0xA459 , L  }, /* YI SYLLABLE NYUT */
  {0xA45A , L  }, /* YI SYLLABLE NYUX */
  {0xA45B , L  }, /* YI SYLLABLE NYU */
  {0xA45C , L  }, /* YI SYLLABLE NYUP */
  {0xA45D , L  }, /* YI SYLLABLE XIT */
  {0xA45E , L  }, /* YI SYLLABLE XIX */
  {0xA45F , L  }, /* YI SYLLABLE XI */
  {0xA460 , L  }, /* YI SYLLABLE XIP */
  {0xA461 , L  }, /* YI SYLLABLE XIET */
  {0xA462 , L  }, /* YI SYLLABLE XIEX */
  {0xA463 , L  }, /* YI SYLLABLE XIE */
  {0xA464 , L  }, /* YI SYLLABLE XIEP */
  {0xA465 , L  }, /* YI SYLLABLE XUOX */
  {0xA466 , L  }, /* YI SYLLABLE XUO */
  {0xA467 , L  }, /* YI SYLLABLE XOT */
  {0xA468 , L  }, /* YI SYLLABLE XOX */
  {0xA469 , L  }, /* YI SYLLABLE XO */
  {0xA46A , L  }, /* YI SYLLABLE XOP */
  {0xA46B , L  }, /* YI SYLLABLE XYT */
  {0xA46C , L  }, /* YI SYLLABLE XYX */
  {0xA46D , L  }, /* YI SYLLABLE XY */
  {0xA46E , L  }, /* YI SYLLABLE XYP */
  {0xA46F , L  }, /* YI SYLLABLE XYRX */
  {0xA470 , L  }, /* YI SYLLABLE XYR */
  {0xA471 , L  }, /* YI SYLLABLE YIT */
  {0xA472 , L  }, /* YI SYLLABLE YIX */
  {0xA473 , L  }, /* YI SYLLABLE YI */
  {0xA474 , L  }, /* YI SYLLABLE YIP */
  {0xA475 , L  }, /* YI SYLLABLE YIET */
  {0xA476 , L  }, /* YI SYLLABLE YIEX */
  {0xA477 , L  }, /* YI SYLLABLE YIE */
  {0xA478 , L  }, /* YI SYLLABLE YIEP */
  {0xA479 , L  }, /* YI SYLLABLE YUOT */
  {0xA47A , L  }, /* YI SYLLABLE YUOX */
  {0xA47B , L  }, /* YI SYLLABLE YUO */
  {0xA47C , L  }, /* YI SYLLABLE YUOP */
  {0xA47D , L  }, /* YI SYLLABLE YOT */
  {0xA47E , L  }, /* YI SYLLABLE YOX */
  {0xA47F , L  }, /* YI SYLLABLE YO */
  {0xA480 , L  }, /* YI SYLLABLE YOP */
  {0xA481 , L  }, /* YI SYLLABLE YUT */
  {0xA482 , L  }, /* YI SYLLABLE YUX */
  {0xA483 , L  }, /* YI SYLLABLE YU */
  {0xA484 , L  }, /* YI SYLLABLE YUP */
  {0xA485 , L  }, /* YI SYLLABLE YURX */
  {0xA486 , L  }, /* YI SYLLABLE YUR */
  {0xA487 , L  }, /* YI SYLLABLE YYT */
  {0xA488 , L  }, /* YI SYLLABLE YYX */
  {0xA489 , L  }, /* YI SYLLABLE YY */
  {0xA48A , L  }, /* YI SYLLABLE YYP */
  {0xA48B , L  }, /* YI SYLLABLE YYRX */
  {0xA48C , L  }, /* YI SYLLABLE YYR */
  {0xA490 , ON }, /* YI RADICAL QOT */
  {0xA491 , ON }, /* YI RADICAL LI */
  {0xA492 , ON }, /* YI RADICAL KIT */
  {0xA493 , ON }, /* YI RADICAL NYIP */
  {0xA494 , ON }, /* YI RADICAL CYP */
  {0xA495 , ON }, /* YI RADICAL SSI */
  {0xA496 , ON }, /* YI RADICAL GGOP */
  {0xA497 , ON }, /* YI RADICAL GEP */
  {0xA498 , ON }, /* YI RADICAL MI */
  {0xA499 , ON }, /* YI RADICAL HXIT */
  {0xA49A , ON }, /* YI RADICAL LYR */
  {0xA49B , ON }, /* YI RADICAL BBUT */
  {0xA49C , ON }, /* YI RADICAL MOP */
  {0xA49D , ON }, /* YI RADICAL YO */
  {0xA49E , ON }, /* YI RADICAL PUT */
  {0xA49F , ON }, /* YI RADICAL HXUO */
  {0xA4A0 , ON }, /* YI RADICAL TAT */
  {0xA4A1 , ON }, /* YI RADICAL GA */
  {0xA4A2 , ON }, /* YI RADICAL ZUP */
  {0xA4A3 , ON }, /* YI RADICAL CYT */
  {0xA4A4 , ON }, /* YI RADICAL DDUR */
  {0xA4A5 , ON }, /* YI RADICAL BUR */
  {0xA4A6 , ON }, /* YI RADICAL GGUO */
  {0xA4A7 , ON }, /* YI RADICAL NYOP */
  {0xA4A8 , ON }, /* YI RADICAL TU */
  {0xA4A9 , ON }, /* YI RADICAL OP */
  {0xA4AA , ON }, /* YI RADICAL JJUT */
  {0xA4AB , ON }, /* YI RADICAL ZOT */
  {0xA4AC , ON }, /* YI RADICAL PYT */
  {0xA4AD , ON }, /* YI RADICAL HMO */
  {0xA4AE , ON }, /* YI RADICAL YIT */
  {0xA4AF , ON }, /* YI RADICAL VUR */
  {0xA4B0 , ON }, /* YI RADICAL SHY */
  {0xA4B1 , ON }, /* YI RADICAL VEP */
  {0xA4B2 , ON }, /* YI RADICAL ZA */
  {0xA4B3 , ON }, /* YI RADICAL JO */
  {0xA4B4 , ON }, /* YI RADICAL NZUP */
  {0xA4B5 , ON }, /* YI RADICAL JJY */
  {0xA4B6 , ON }, /* YI RADICAL GOT */
  {0xA4B7 , ON }, /* YI RADICAL JJIE */
  {0xA4B8 , ON }, /* YI RADICAL WO */
  {0xA4B9 , ON }, /* YI RADICAL DU */
  {0xA4BA , ON }, /* YI RADICAL SHUR */
  {0xA4BB , ON }, /* YI RADICAL LIE */
  {0xA4BC , ON }, /* YI RADICAL CY */
  {0xA4BD , ON }, /* YI RADICAL CUOP */
  {0xA4BE , ON }, /* YI RADICAL CIP */
  {0xA4BF , ON }, /* YI RADICAL HXOP */
  {0xA4C0 , ON }, /* YI RADICAL SHAT */
  {0xA4C1 , ON }, /* YI RADICAL ZUR */
  {0xA4C2 , ON }, /* YI RADICAL SHOP */
  {0xA4C3 , ON }, /* YI RADICAL CHE */
  {0xA4C4 , ON }, /* YI RADICAL ZZIET */
  {0xA4C5 , ON }, /* YI RADICAL NBIE */
  {0xA4C6 , ON }, /* YI RADICAL KE */
  {0xA700 , ON }, /* MODIFIER LETTER CHINESE TONE YIN PING */
  {0xA701 , ON }, /* MODIFIER LETTER CHINESE TONE YANG PING */
  {0xA702 , ON }, /* MODIFIER LETTER CHINESE TONE YIN SHANG */
  {0xA703 , ON }, /* MODIFIER LETTER CHINESE TONE YANG SHANG */
  {0xA704 , ON }, /* MODIFIER LETTER CHINESE TONE YIN QU */
  {0xA705 , ON }, /* MODIFIER LETTER CHINESE TONE YANG QU */
  {0xA706 , ON }, /* MODIFIER LETTER CHINESE TONE YIN RU */
  {0xA707 , ON }, /* MODIFIER LETTER CHINESE TONE YANG RU */
  {0xA708 , ON }, /* MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR */
  {0xA709 , ON }, /* MODIFIER LETTER HIGH DOTTED TONE BAR */
  {0xA70A , ON }, /* MODIFIER LETTER MID DOTTED TONE BAR */
  {0xA70B , ON }, /* MODIFIER LETTER LOW DOTTED TONE BAR */
  {0xA70C , ON }, /* MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR */
  {0xA70D , ON }, /* MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR */
  {0xA70E , ON }, /* MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR */
  {0xA70F , ON }, /* MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR */
  {0xA710 , ON }, /* MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR */
  {0xA711 , ON }, /* MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR */
  {0xA712 , ON }, /* MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR */
  {0xA713 , ON }, /* MODIFIER LETTER HIGH LEFT-STEM TONE BAR */
  {0xA714 , ON }, /* MODIFIER LETTER MID LEFT-STEM TONE BAR */
  {0xA715 , ON }, /* MODIFIER LETTER LOW LEFT-STEM TONE BAR */
  {0xA716 , ON }, /* MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR */
  {0xA800 , L  }, /* SYLOTI NAGRI LETTER A */
  {0xA801 , L  }, /* SYLOTI NAGRI LETTER I */
  {0xA802 , NSM}, /* SYLOTI NAGRI SIGN DVISVARA */
  {0xA803 , L  }, /* SYLOTI NAGRI LETTER U */
  {0xA804 , L  }, /* SYLOTI NAGRI LETTER E */
  {0xA805 , L  }, /* SYLOTI NAGRI LETTER O */
  {0xA806 , NSM}, /* SYLOTI NAGRI SIGN HASANTA */
  {0xA807 , L  }, /* SYLOTI NAGRI LETTER KO */
  {0xA808 , L  }, /* SYLOTI NAGRI LETTER KHO */
  {0xA809 , L  }, /* SYLOTI NAGRI LETTER GO */
  {0xA80A , L  }, /* SYLOTI NAGRI LETTER GHO */
  {0xA80B , NSM}, /* SYLOTI NAGRI SIGN ANUSVARA */
  {0xA80C , L  }, /* SYLOTI NAGRI LETTER CO */
  {0xA80D , L  }, /* SYLOTI NAGRI LETTER CHO */
  {0xA80E , L  }, /* SYLOTI NAGRI LETTER JO */
  {0xA80F , L  }, /* SYLOTI NAGRI LETTER JHO */
  {0xA810 , L  }, /* SYLOTI NAGRI LETTER TTO */
  {0xA811 , L  }, /* SYLOTI NAGRI LETTER TTHO */
  {0xA812 , L  }, /* SYLOTI NAGRI LETTER DDO */
  {0xA813 , L  }, /* SYLOTI NAGRI LETTER DDHO */
  {0xA814 , L  }, /* SYLOTI NAGRI LETTER TO */
  {0xA815 , L  }, /* SYLOTI NAGRI LETTER THO */
  {0xA816 , L  }, /* SYLOTI NAGRI LETTER DO */
  {0xA817 , L  }, /* SYLOTI NAGRI LETTER DHO */
  {0xA818 , L  }, /* SYLOTI NAGRI LETTER NO */
  {0xA819 , L  }, /* SYLOTI NAGRI LETTER PO */
  {0xA81A , L  }, /* SYLOTI NAGRI LETTER PHO */
  {0xA81B , L  }, /* SYLOTI NAGRI LETTER BO */
  {0xA81C , L  }, /* SYLOTI NAGRI LETTER BHO */
  {0xA81D , L  }, /* SYLOTI NAGRI LETTER MO */
  {0xA81E , L  }, /* SYLOTI NAGRI LETTER RO */
  {0xA81F , L  }, /* SYLOTI NAGRI LETTER LO */
  {0xA820 , L  }, /* SYLOTI NAGRI LETTER RRO */
  {0xA821 , L  }, /* SYLOTI NAGRI LETTER SO */
  {0xA822 , L  }, /* SYLOTI NAGRI LETTER HO */
  {0xA823 , L  }, /* SYLOTI NAGRI VOWEL SIGN A */
  {0xA824 , L  }, /* SYLOTI NAGRI VOWEL SIGN I */
  {0xA825 , NSM}, /* SYLOTI NAGRI VOWEL SIGN U */
  {0xA826 , NSM}, /* SYLOTI NAGRI VOWEL SIGN E */
  {0xA827 , L  }, /* SYLOTI NAGRI VOWEL SIGN OO */
  {0xA828 , ON }, /* SYLOTI NAGRI POETRY MARK-1 */
  {0xA829 , ON }, /* SYLOTI NAGRI POETRY MARK-2 */
  {0xA82A , ON }, /* SYLOTI NAGRI POETRY MARK-3 */
  {0xA82B , ON }, /* SYLOTI NAGRI POETRY MARK-4 */
  {0xAC00 , L  }, /* <Hangul Syllable , First> */
  {0xD7A3 , L  }, /* <Hangul Syllable , Last> */
  {0xD800 , L  }, /* <Non Private Use High Surrogate , First> */
  {0xDB7F , L  }, /* <Non Private Use High Surrogate , Last> */
  {0xDB80 , L  }, /* <Private Use High Surrogate , First> */
  {0xDBFF , L  }, /* <Private Use High Surrogate , Last> */
  {0xDC00 , L  }, /* <Low Surrogate , First> */
  {0xDFFF , L  }, /* <Low Surrogate , Last> */
  {0xE000 , L  }, /* <Private Use , First> */
  {0xF8FF , L  }, /* <Private Use , Last> */
  {0xF900 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F900 */
  {0xF901 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F901 */
  {0xF902 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F902 */
  {0xF903 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F903 */
  {0xF904 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F904 */
  {0xF905 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F905 */
  {0xF906 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F906 */
  {0xF907 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F907 */
  {0xF908 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F908 */
  {0xF909 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F909 */
  {0xF90A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F90A */
  {0xF90B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F90B */
  {0xF90C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F90C */
  {0xF90D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F90D */
  {0xF90E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F90E */
  {0xF90F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F90F */
  {0xF910 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F910 */
  {0xF911 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F911 */
  {0xF912 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F912 */
  {0xF913 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F913 */
  {0xF914 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F914 */
  {0xF915 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F915 */
  {0xF916 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F916 */
  {0xF917 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F917 */
  {0xF918 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F918 */
  {0xF919 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F919 */
  {0xF91A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F91A */
  {0xF91B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F91B */
  {0xF91C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F91C */
  {0xF91D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F91D */
  {0xF91E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F91E */
  {0xF91F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F91F */
  {0xF920 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F920 */
  {0xF921 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F921 */
  {0xF922 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F922 */
  {0xF923 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F923 */
  {0xF924 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F924 */
  {0xF925 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F925 */
  {0xF926 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F926 */
  {0xF927 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F927 */
  {0xF928 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F928 */
  {0xF929 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F929 */
  {0xF92A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F92A */
  {0xF92B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F92B */
  {0xF92C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F92C */
  {0xF92D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F92D */
  {0xF92E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F92E */
  {0xF92F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F92F */
  {0xF930 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F930 */
  {0xF931 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F931 */
  {0xF932 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F932 */
  {0xF933 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F933 */
  {0xF934 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F934 */
  {0xF935 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F935 */
  {0xF936 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F936 */
  {0xF937 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F937 */
  {0xF938 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F938 */
  {0xF939 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F939 */
  {0xF93A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F93A */
  {0xF93B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F93B */
  {0xF93C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F93C */
  {0xF93D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F93D */
  {0xF93E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F93E */
  {0xF93F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F93F */
  {0xF940 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F940 */
  {0xF941 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F941 */
  {0xF942 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F942 */
  {0xF943 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F943 */
  {0xF944 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F944 */
  {0xF945 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F945 */
  {0xF946 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F946 */
  {0xF947 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F947 */
  {0xF948 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F948 */
  {0xF949 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F949 */
  {0xF94A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F94A */
  {0xF94B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F94B */
  {0xF94C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F94C */
  {0xF94D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F94D */
  {0xF94E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F94E */
  {0xF94F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F94F */
  {0xF950 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F950 */
  {0xF951 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F951 */
  {0xF952 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F952 */
  {0xF953 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F953 */
  {0xF954 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F954 */
  {0xF955 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F955 */
  {0xF956 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F956 */
  {0xF957 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F957 */
  {0xF958 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F958 */
  {0xF959 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F959 */
  {0xF95A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F95A */
  {0xF95B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F95B */
  {0xF95C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F95C */
  {0xF95D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F95D */
  {0xF95E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F95E */
  {0xF95F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F95F */
  {0xF960 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F960 */
  {0xF961 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F961 */
  {0xF962 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F962 */
  {0xF963 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F963 */
  {0xF964 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F964 */
  {0xF965 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F965 */
  {0xF966 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F966 */
  {0xF967 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F967 */
  {0xF968 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F968 */
  {0xF969 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F969 */
  {0xF96A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F96A */
  {0xF96B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F96B */
  {0xF96C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F96C */
  {0xF96D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F96D */
  {0xF96E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F96E */
  {0xF96F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F96F */
  {0xF970 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F970 */
  {0xF971 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F971 */
  {0xF972 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F972 */
  {0xF973 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F973 */
  {0xF974 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F974 */
  {0xF975 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F975 */
  {0xF976 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F976 */
  {0xF977 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F977 */
  {0xF978 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F978 */
  {0xF979 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F979 */
  {0xF97A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F97A */
  {0xF97B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F97B */
  {0xF97C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F97C */
  {0xF97D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F97D */
  {0xF97E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F97E */
  {0xF97F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F97F */
  {0xF980 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F980 */
  {0xF981 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F981 */
  {0xF982 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F982 */
  {0xF983 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F983 */
  {0xF984 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F984 */
  {0xF985 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F985 */
  {0xF986 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F986 */
  {0xF987 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F987 */
  {0xF988 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F988 */
  {0xF989 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F989 */
  {0xF98A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F98A */
  {0xF98B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F98B */
  {0xF98C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F98C */
  {0xF98D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F98D */
  {0xF98E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F98E */
  {0xF98F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F98F */
  {0xF990 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F990 */
  {0xF991 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F991 */
  {0xF992 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F992 */
  {0xF993 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F993 */
  {0xF994 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F994 */
  {0xF995 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F995 */
  {0xF996 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F996 */
  {0xF997 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F997 */
  {0xF998 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F998 */
  {0xF999 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F999 */
  {0xF99A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F99A */
  {0xF99B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F99B */
  {0xF99C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F99C */
  {0xF99D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F99D */
  {0xF99E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F99E */
  {0xF99F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F99F */
  {0xF9A0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A0 */
  {0xF9A1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A1 */
  {0xF9A2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A2 */
  {0xF9A3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A3 */
  {0xF9A4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A4 */
  {0xF9A5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A5 */
  {0xF9A6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A6 */
  {0xF9A7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A7 */
  {0xF9A8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A8 */
  {0xF9A9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9A9 */
  {0xF9AA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9AA */
  {0xF9AB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9AB */
  {0xF9AC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9AC */
  {0xF9AD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9AD */
  {0xF9AE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9AE */
  {0xF9AF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9AF */
  {0xF9B0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B0 */
  {0xF9B1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B1 */
  {0xF9B2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B2 */
  {0xF9B3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B3 */
  {0xF9B4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B4 */
  {0xF9B5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B5 */
  {0xF9B6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B6 */
  {0xF9B7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B7 */
  {0xF9B8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B8 */
  {0xF9B9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9B9 */
  {0xF9BA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9BA */
  {0xF9BB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9BB */
  {0xF9BC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9BC */
  {0xF9BD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9BD */
  {0xF9BE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9BE */
  {0xF9BF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9BF */
  {0xF9C0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C0 */
  {0xF9C1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C1 */
  {0xF9C2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C2 */
  {0xF9C3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C3 */
  {0xF9C4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C4 */
  {0xF9C5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C5 */
  {0xF9C6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C6 */
  {0xF9C7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C7 */
  {0xF9C8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C8 */
  {0xF9C9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9C9 */
  {0xF9CA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9CA */
  {0xF9CB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9CB */
  {0xF9CC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9CC */
  {0xF9CD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9CD */
  {0xF9CE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9CE */
  {0xF9CF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9CF */
  {0xF9D0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D0 */
  {0xF9D1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D1 */
  {0xF9D2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D2 */
  {0xF9D3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D3 */
  {0xF9D4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D4 */
  {0xF9D5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D5 */
  {0xF9D6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D6 */
  {0xF9D7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D7 */
  {0xF9D8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D8 */
  {0xF9D9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9D9 */
  {0xF9DA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9DA */
  {0xF9DB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9DB */
  {0xF9DC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9DC */
  {0xF9DD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9DD */
  {0xF9DE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9DE */
  {0xF9DF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9DF */
  {0xF9E0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E0 */
  {0xF9E1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E1 */
  {0xF9E2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E2 */
  {0xF9E3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E3 */
  {0xF9E4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E4 */
  {0xF9E5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E5 */
  {0xF9E6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E6 */
  {0xF9E7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E7 */
  {0xF9E8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E8 */
  {0xF9E9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9E9 */
  {0xF9EA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9EA */
  {0xF9EB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9EB */
  {0xF9EC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9EC */
  {0xF9ED , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9ED */
  {0xF9EE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9EE */
  {0xF9EF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9EF */
  {0xF9F0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F0 */
  {0xF9F1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F1 */
  {0xF9F2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F2 */
  {0xF9F3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F3 */
  {0xF9F4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F4 */
  {0xF9F5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F5 */
  {0xF9F6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F6 */
  {0xF9F7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F7 */
  {0xF9F8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F8 */
  {0xF9F9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9F9 */
  {0xF9FA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9FA */
  {0xF9FB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9FB */
  {0xF9FC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9FC */
  {0xF9FD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9FD */
  {0xF9FE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9FE */
  {0xF9FF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-F9FF */
  {0xFA00 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA00 */
  {0xFA01 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA01 */
  {0xFA02 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA02 */
  {0xFA03 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA03 */
  {0xFA04 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA04 */
  {0xFA05 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA05 */
  {0xFA06 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA06 */
  {0xFA07 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA07 */
  {0xFA08 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA08 */
  {0xFA09 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA09 */
  {0xFA0A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA0A */
  {0xFA0B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA0B */
  {0xFA0C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA0C */
  {0xFA0D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA0D */
  {0xFA0E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA0E */
  {0xFA0F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA0F */
  {0xFA10 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA10 */
  {0xFA11 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA11 */
  {0xFA12 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA12 */
  {0xFA13 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA13 */
  {0xFA14 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA14 */
  {0xFA15 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA15 */
  {0xFA16 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA16 */
  {0xFA17 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA17 */
  {0xFA18 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA18 */
  {0xFA19 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA19 */
  {0xFA1A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA1A */
  {0xFA1B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA1B */
  {0xFA1C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA1C */
  {0xFA1D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA1D */
  {0xFA1E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA1E */
  {0xFA1F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA1F */
  {0xFA20 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA20 */
  {0xFA21 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA21 */
  {0xFA22 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA22 */
  {0xFA23 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA23 */
  {0xFA24 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA24 */
  {0xFA25 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA25 */
  {0xFA26 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA26 */
  {0xFA27 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA27 */
  {0xFA28 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA28 */
  {0xFA29 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA29 */
  {0xFA2A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA2A */
  {0xFA2B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA2B */
  {0xFA2C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA2C */
  {0xFA2D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA2D */
  {0xFA30 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA30 */
  {0xFA31 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA31 */
  {0xFA32 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA32 */
  {0xFA33 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA33 */
  {0xFA34 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA34 */
  {0xFA35 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA35 */
  {0xFA36 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA36 */
  {0xFA37 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA37 */
  {0xFA38 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA38 */
  {0xFA39 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA39 */
  {0xFA3A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA3A */
  {0xFA3B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA3B */
  {0xFA3C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA3C */
  {0xFA3D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA3D */
  {0xFA3E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA3E */
  {0xFA3F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA3F */
  {0xFA40 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA40 */
  {0xFA41 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA41 */
  {0xFA42 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA42 */
  {0xFA43 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA43 */
  {0xFA44 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA44 */
  {0xFA45 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA45 */
  {0xFA46 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA46 */
  {0xFA47 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA47 */
  {0xFA48 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA48 */
  {0xFA49 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA49 */
  {0xFA4A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA4A */
  {0xFA4B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA4B */
  {0xFA4C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA4C */
  {0xFA4D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA4D */
  {0xFA4E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA4E */
  {0xFA4F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA4F */
  {0xFA50 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA50 */
  {0xFA51 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA51 */
  {0xFA52 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA52 */
  {0xFA53 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA53 */
  {0xFA54 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA54 */
  {0xFA55 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA55 */
  {0xFA56 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA56 */
  {0xFA57 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA57 */
  {0xFA58 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA58 */
  {0xFA59 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA59 */
  {0xFA5A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA5A */
  {0xFA5B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA5B */
  {0xFA5C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA5C */
  {0xFA5D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA5D */
  {0xFA5E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA5E */
  {0xFA5F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA5F */
  {0xFA60 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA60 */
  {0xFA61 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA61 */
  {0xFA62 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA62 */
  {0xFA63 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA63 */
  {0xFA64 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA64 */
  {0xFA65 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA65 */
  {0xFA66 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA66 */
  {0xFA67 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA67 */
  {0xFA68 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA68 */
  {0xFA69 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA69 */
  {0xFA6A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA6A */
  {0xFA70 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA70 */
  {0xFA71 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA71 */
  {0xFA72 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA72 */
  {0xFA73 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA73 */
  {0xFA74 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA74 */
  {0xFA75 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA75 */
  {0xFA76 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA76 */
  {0xFA77 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA77 */
  {0xFA78 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA78 */
  {0xFA79 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA79 */
  {0xFA7A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA7A */
  {0xFA7B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA7B */
  {0xFA7C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA7C */
  {0xFA7D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA7D */
  {0xFA7E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA7E */
  {0xFA7F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA7F */
  {0xFA80 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA80 */
  {0xFA81 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA81 */
  {0xFA82 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA82 */
  {0xFA83 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA83 */
  {0xFA84 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA84 */
  {0xFA85 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA85 */
  {0xFA86 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA86 */
  {0xFA87 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA87 */
  {0xFA88 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA88 */
  {0xFA89 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA89 */
  {0xFA8A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA8A */
  {0xFA8B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA8B */
  {0xFA8C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA8C */
  {0xFA8D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA8D */
  {0xFA8E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA8E */
  {0xFA8F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA8F */
  {0xFA90 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA90 */
  {0xFA91 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA91 */
  {0xFA92 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA92 */
  {0xFA93 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA93 */
  {0xFA94 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA94 */
  {0xFA95 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA95 */
  {0xFA96 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA96 */
  {0xFA97 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA97 */
  {0xFA98 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA98 */
  {0xFA99 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA99 */
  {0xFA9A , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA9A */
  {0xFA9B , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA9B */
  {0xFA9C , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA9C */
  {0xFA9D , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA9D */
  {0xFA9E , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA9E */
  {0xFA9F , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FA9F */
  {0xFAA0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA0 */
  {0xFAA1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA1 */
  {0xFAA2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA2 */
  {0xFAA3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA3 */
  {0xFAA4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA4 */
  {0xFAA5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA5 */
  {0xFAA6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA6 */
  {0xFAA7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA7 */
  {0xFAA8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA8 */
  {0xFAA9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAA9 */
  {0xFAAA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAAA */
  {0xFAAB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAAB */
  {0xFAAC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAAC */
  {0xFAAD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAAD */
  {0xFAAE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAAE */
  {0xFAAF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAAF */
  {0xFAB0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB0 */
  {0xFAB1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB1 */
  {0xFAB2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB2 */
  {0xFAB3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB3 */
  {0xFAB4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB4 */
  {0xFAB5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB5 */
  {0xFAB6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB6 */
  {0xFAB7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB7 */
  {0xFAB8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB8 */
  {0xFAB9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAB9 */
  {0xFABA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FABA */
  {0xFABB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FABB */
  {0xFABC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FABC */
  {0xFABD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FABD */
  {0xFABE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FABE */
  {0xFABF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FABF */
  {0xFAC0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC0 */
  {0xFAC1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC1 */
  {0xFAC2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC2 */
  {0xFAC3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC3 */
  {0xFAC4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC4 */
  {0xFAC5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC5 */
  {0xFAC6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC6 */
  {0xFAC7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC7 */
  {0xFAC8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC8 */
  {0xFAC9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAC9 */
  {0xFACA , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FACA */
  {0xFACB , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FACB */
  {0xFACC , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FACC */
  {0xFACD , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FACD */
  {0xFACE , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FACE */
  {0xFACF , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FACF */
  {0xFAD0 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD0 */
  {0xFAD1 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD1 */
  {0xFAD2 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD2 */
  {0xFAD3 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD3 */
  {0xFAD4 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD4 */
  {0xFAD5 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD5 */
  {0xFAD6 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD6 */
  {0xFAD7 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD7 */
  {0xFAD8 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD8 */
  {0xFAD9 , L  }, /* CJK COMPATIBILITY IDEOGRAPH-FAD9 */
  {0xFB00 , L  }, /* LATIN SMALL LIGATURE FF */
  {0xFB01 , L  }, /* LATIN SMALL LIGATURE FI */
  {0xFB02 , L  }, /* LATIN SMALL LIGATURE FL */
  {0xFB03 , L  }, /* LATIN SMALL LIGATURE FFI */
  {0xFB04 , L  }, /* LATIN SMALL LIGATURE FFL */
  {0xFB05 , L  }, /* LATIN SMALL LIGATURE LONG S T */
  {0xFB06 , L  }, /* LATIN SMALL LIGATURE ST */
  {0xFB13 , L  }, /* ARMENIAN SMALL LIGATURE MEN NOW */
  {0xFB14 , L  }, /* ARMENIAN SMALL LIGATURE MEN ECH */
  {0xFB15 , L  }, /* ARMENIAN SMALL LIGATURE MEN INI */
  {0xFB16 , L  }, /* ARMENIAN SMALL LIGATURE VEW NOW */
  {0xFB17 , L  }, /* ARMENIAN SMALL LIGATURE MEN XEH */
  {0xFB1D , R  }, /* HEBREW LETTER YOD WITH HIRIQ */
  {0xFB1E , NSM}, /* HEBREW POINT JUDEO-SPANISH VARIKA */
  {0xFB1F , R  }, /* HEBREW LIGATURE YIDDISH YOD YOD PATAH */
  {0xFB20 , R  }, /* HEBREW LETTER ALTERNATIVE AYIN */
  {0xFB21 , R  }, /* HEBREW LETTER WIDE ALEF */
  {0xFB22 , R  }, /* HEBREW LETTER WIDE DALET */
  {0xFB23 , R  }, /* HEBREW LETTER WIDE HE */
  {0xFB24 , R  }, /* HEBREW LETTER WIDE KAF */
  {0xFB25 , R  }, /* HEBREW LETTER WIDE LAMED */
  {0xFB26 , R  }, /* HEBREW LETTER WIDE FINAL MEM */
  {0xFB27 , R  }, /* HEBREW LETTER WIDE RESH */
  {0xFB28 , R  }, /* HEBREW LETTER WIDE TAV */
  {0xFB29 , ES }, /* HEBREW LETTER ALTERNATIVE PLUS SIGN */
  {0xFB2A , R  }, /* HEBREW LETTER SHIN WITH SHIN DOT */
  {0xFB2B , R  }, /* HEBREW LETTER SHIN WITH SIN DOT */
  {0xFB2C , R  }, /* HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT */
  {0xFB2D , R  }, /* HEBREW LETTER SHIN WITH DAGESH AND SIN DOT */
  {0xFB2E , R  }, /* HEBREW LETTER ALEF WITH PATAH */
  {0xFB2F , R  }, /* HEBREW LETTER ALEF WITH QAMATS */
  {0xFB30 , R  }, /* HEBREW LETTER ALEF WITH MAPIQ */
  {0xFB31 , R  }, /* HEBREW LETTER BET WITH DAGESH */
  {0xFB32 , R  }, /* HEBREW LETTER GIMEL WITH DAGESH */
  {0xFB33 , R  }, /* HEBREW LETTER DALET WITH DAGESH */
  {0xFB34 , R  }, /* HEBREW LETTER HE WITH MAPIQ */
  {0xFB35 , R  }, /* HEBREW LETTER VAV WITH DAGESH */
  {0xFB36 , R  }, /* HEBREW LETTER ZAYIN WITH DAGESH */
  {0xFB38 , R  }, /* HEBREW LETTER TET WITH DAGESH */
  {0xFB39 , R  }, /* HEBREW LETTER YOD WITH DAGESH */
  {0xFB3A , R  }, /* HEBREW LETTER FINAL KAF WITH DAGESH */
  {0xFB3B , R  }, /* HEBREW LETTER KAF WITH DAGESH */
  {0xFB3C , R  }, /* HEBREW LETTER LAMED WITH DAGESH */
  {0xFB3E , R  }, /* HEBREW LETTER MEM WITH DAGESH */
  {0xFB40 , R  }, /* HEBREW LETTER NUN WITH DAGESH */
  {0xFB41 , R  }, /* HEBREW LETTER SAMEKH WITH DAGESH */
  {0xFB43 , R  }, /* HEBREW LETTER FINAL PE WITH DAGESH */
  {0xFB44 , R  }, /* HEBREW LETTER PE WITH DAGESH */
  {0xFB46 , R  }, /* HEBREW LETTER TSADI WITH DAGESH */
  {0xFB47 , R  }, /* HEBREW LETTER QOF WITH DAGESH */
  {0xFB48 , R  }, /* HEBREW LETTER RESH WITH DAGESH */
  {0xFB49 , R  }, /* HEBREW LETTER SHIN WITH DAGESH */
  {0xFB4A , R  }, /* HEBREW LETTER TAV WITH DAGESH */
  {0xFB4B , R  }, /* HEBREW LETTER VAV WITH HOLAM */
  {0xFB4C , R  }, /* HEBREW LETTER BET WITH RAFE */
  {0xFB4D , R  }, /* HEBREW LETTER KAF WITH RAFE */
  {0xFB4E , R  }, /* HEBREW LETTER PE WITH RAFE */
  {0xFB4F , R  }, /* HEBREW LIGATURE ALEF LAMED */
  {0xFB50 , AL }, /* ARABIC LETTER ALEF WASLA ISOLATED FORM */
  {0xFB51 , AL }, /* ARABIC LETTER ALEF WASLA FINAL FORM */
  {0xFB52 , AL }, /* ARABIC LETTER BEEH ISOLATED FORM */
  {0xFB53 , AL }, /* ARABIC LETTER BEEH FINAL FORM */
  {0xFB54 , AL }, /* ARABIC LETTER BEEH INITIAL FORM */
  {0xFB55 , AL }, /* ARABIC LETTER BEEH MEDIAL FORM */
  {0xFB56 , AL }, /* ARABIC LETTER PEH ISOLATED FORM */
  {0xFB57 , AL }, /* ARABIC LETTER PEH FINAL FORM */
  {0xFB58 , AL }, /* ARABIC LETTER PEH INITIAL FORM */
  {0xFB59 , AL }, /* ARABIC LETTER PEH MEDIAL FORM */
  {0xFB5A , AL }, /* ARABIC LETTER BEHEH ISOLATED FORM */
  {0xFB5B , AL }, /* ARABIC LETTER BEHEH FINAL FORM */
  {0xFB5C , AL }, /* ARABIC LETTER BEHEH INITIAL FORM */
  {0xFB5D , AL }, /* ARABIC LETTER BEHEH MEDIAL FORM */
  {0xFB5E , AL }, /* ARABIC LETTER TTEHEH ISOLATED FORM */
  {0xFB5F , AL }, /* ARABIC LETTER TTEHEH FINAL FORM */
  {0xFB60 , AL }, /* ARABIC LETTER TTEHEH INITIAL FORM */
  {0xFB61 , AL }, /* ARABIC LETTER TTEHEH MEDIAL FORM */
  {0xFB62 , AL }, /* ARABIC LETTER TEHEH ISOLATED FORM */
  {0xFB63 , AL }, /* ARABIC LETTER TEHEH FINAL FORM */
  {0xFB64 , AL }, /* ARABIC LETTER TEHEH INITIAL FORM */
  {0xFB65 , AL }, /* ARABIC LETTER TEHEH MEDIAL FORM */
  {0xFB66 , AL }, /* ARABIC LETTER TTEH ISOLATED FORM */
  {0xFB67 , AL }, /* ARABIC LETTER TTEH FINAL FORM */
  {0xFB68 , AL }, /* ARABIC LETTER TTEH INITIAL FORM */
  {0xFB69 , AL }, /* ARABIC LETTER TTEH MEDIAL FORM */
  {0xFB6A , AL }, /* ARABIC LETTER VEH ISOLATED FORM */
  {0xFB6B , AL }, /* ARABIC LETTER VEH FINAL FORM */
  {0xFB6C , AL }, /* ARABIC LETTER VEH INITIAL FORM */
  {0xFB6D , AL }, /* ARABIC LETTER VEH MEDIAL FORM */
  {0xFB6E , AL }, /* ARABIC LETTER PEHEH ISOLATED FORM */
  {0xFB6F , AL }, /* ARABIC LETTER PEHEH FINAL FORM */
  {0xFB70 , AL }, /* ARABIC LETTER PEHEH INITIAL FORM */
  {0xFB71 , AL }, /* ARABIC LETTER PEHEH MEDIAL FORM */
  {0xFB72 , AL }, /* ARABIC LETTER DYEH ISOLATED FORM */
  {0xFB73 , AL }, /* ARABIC LETTER DYEH FINAL FORM */
  {0xFB74 , AL }, /* ARABIC LETTER DYEH INITIAL FORM */
  {0xFB75 , AL }, /* ARABIC LETTER DYEH MEDIAL FORM */
  {0xFB76 , AL }, /* ARABIC LETTER NYEH ISOLATED FORM */
  {0xFB77 , AL }, /* ARABIC LETTER NYEH FINAL FORM */
  {0xFB78 , AL }, /* ARABIC LETTER NYEH INITIAL FORM */
  {0xFB79 , AL }, /* ARABIC LETTER NYEH MEDIAL FORM */
  {0xFB7A , AL }, /* ARABIC LETTER TCHEH ISOLATED FORM */
  {0xFB7B , AL }, /* ARABIC LETTER TCHEH FINAL FORM */
  {0xFB7C , AL }, /* ARABIC LETTER TCHEH INITIAL FORM */
  {0xFB7D , AL }, /* ARABIC LETTER TCHEH MEDIAL FORM */
  {0xFB7E , AL }, /* ARABIC LETTER TCHEHEH ISOLATED FORM */
  {0xFB7F , AL }, /* ARABIC LETTER TCHEHEH FINAL FORM */
  {0xFB80 , AL }, /* ARABIC LETTER TCHEHEH INITIAL FORM */
  {0xFB81 , AL }, /* ARABIC LETTER TCHEHEH MEDIAL FORM */
  {0xFB82 , AL }, /* ARABIC LETTER DDAHAL ISOLATED FORM */
  {0xFB83 , AL }, /* ARABIC LETTER DDAHAL FINAL FORM */
  {0xFB84 , AL }, /* ARABIC LETTER DAHAL ISOLATED FORM */
  {0xFB85 , AL }, /* ARABIC LETTER DAHAL FINAL FORM */
  {0xFB86 , AL }, /* ARABIC LETTER DUL ISOLATED FORM */
  {0xFB87 , AL }, /* ARABIC LETTER DUL FINAL FORM */
  {0xFB88 , AL }, /* ARABIC LETTER DDAL ISOLATED FORM */
  {0xFB89 , AL }, /* ARABIC LETTER DDAL FINAL FORM */
  {0xFB8A , AL }, /* ARABIC LETTER JEH ISOLATED FORM */
  {0xFB8B , AL }, /* ARABIC LETTER JEH FINAL FORM */
  {0xFB8C , AL }, /* ARABIC LETTER RREH ISOLATED FORM */
  {0xFB8D , AL }, /* ARABIC LETTER RREH FINAL FORM */
  {0xFB8E , AL }, /* ARABIC LETTER KEHEH ISOLATED FORM */
  {0xFB8F , AL }, /* ARABIC LETTER KEHEH FINAL FORM */
  {0xFB90 , AL }, /* ARABIC LETTER KEHEH INITIAL FORM */
  {0xFB91 , AL }, /* ARABIC LETTER KEHEH MEDIAL FORM */
  {0xFB92 , AL }, /* ARABIC LETTER GAF ISOLATED FORM */
  {0xFB93 , AL }, /* ARABIC LETTER GAF FINAL FORM */
  {0xFB94 , AL }, /* ARABIC LETTER GAF INITIAL FORM */
  {0xFB95 , AL }, /* ARABIC LETTER GAF MEDIAL FORM */
  {0xFB96 , AL }, /* ARABIC LETTER GUEH ISOLATED FORM */
  {0xFB97 , AL }, /* ARABIC LETTER GUEH FINAL FORM */
  {0xFB98 , AL }, /* ARABIC LETTER GUEH INITIAL FORM */
  {0xFB99 , AL }, /* ARABIC LETTER GUEH MEDIAL FORM */
  {0xFB9A , AL }, /* ARABIC LETTER NGOEH ISOLATED FORM */
  {0xFB9B , AL }, /* ARABIC LETTER NGOEH FINAL FORM */
  {0xFB9C , AL }, /* ARABIC LETTER NGOEH INITIAL FORM */
  {0xFB9D , AL }, /* ARABIC LETTER NGOEH MEDIAL FORM */
  {0xFB9E , AL }, /* ARABIC LETTER NOON GHUNNA ISOLATED FORM */
  {0xFB9F , AL }, /* ARABIC LETTER NOON GHUNNA FINAL FORM */
  {0xFBA0 , AL }, /* ARABIC LETTER RNOON ISOLATED FORM */
  {0xFBA1 , AL }, /* ARABIC LETTER RNOON FINAL FORM */
  {0xFBA2 , AL }, /* ARABIC LETTER RNOON INITIAL FORM */
  {0xFBA3 , AL }, /* ARABIC LETTER RNOON MEDIAL FORM */
  {0xFBA4 , AL }, /* ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM */
  {0xFBA5 , AL }, /* ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM */
  {0xFBA6 , AL }, /* ARABIC LETTER HEH GOAL ISOLATED FORM */
  {0xFBA7 , AL }, /* ARABIC LETTER HEH GOAL FINAL FORM */
  {0xFBA8 , AL }, /* ARABIC LETTER HEH GOAL INITIAL FORM */
  {0xFBA9 , AL }, /* ARABIC LETTER HEH GOAL MEDIAL FORM */
  {0xFBAA , AL }, /* ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM */
  {0xFBAB , AL }, /* ARABIC LETTER HEH DOACHASHMEE FINAL FORM */
  {0xFBAC , AL }, /* ARABIC LETTER HEH DOACHASHMEE INITIAL FORM */
  {0xFBAD , AL }, /* ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM */
  {0xFBAE , AL }, /* ARABIC LETTER YEH BARREE ISOLATED FORM */
  {0xFBAF , AL }, /* ARABIC LETTER YEH BARREE FINAL FORM */
  {0xFBB0 , AL }, /* ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM */
  {0xFBB1 , AL }, /* ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM */
  {0xFBD3 , AL }, /* ARABIC LETTER NG ISOLATED FORM */
  {0xFBD4 , AL }, /* ARABIC LETTER NG FINAL FORM */
  {0xFBD5 , AL }, /* ARABIC LETTER NG INITIAL FORM */
  {0xFBD6 , AL }, /* ARABIC LETTER NG MEDIAL FORM */
  {0xFBD7 , AL }, /* ARABIC LETTER U ISOLATED FORM */
  {0xFBD8 , AL }, /* ARABIC LETTER U FINAL FORM */
  {0xFBD9 , AL }, /* ARABIC LETTER OE ISOLATED FORM */
  {0xFBDA , AL }, /* ARABIC LETTER OE FINAL FORM */
  {0xFBDB , AL }, /* ARABIC LETTER YU ISOLATED FORM */
  {0xFBDC , AL }, /* ARABIC LETTER YU FINAL FORM */
  {0xFBDD , AL }, /* ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM */
  {0xFBDE , AL }, /* ARABIC LETTER VE ISOLATED FORM */
  {0xFBDF , AL }, /* ARABIC LETTER VE FINAL FORM */
  {0xFBE0 , AL }, /* ARABIC LETTER KIRGHIZ OE ISOLATED FORM */
  {0xFBE1 , AL }, /* ARABIC LETTER KIRGHIZ OE FINAL FORM */
  {0xFBE2 , AL }, /* ARABIC LETTER KIRGHIZ YU ISOLATED FORM */
  {0xFBE3 , AL }, /* ARABIC LETTER KIRGHIZ YU FINAL FORM */
  {0xFBE4 , AL }, /* ARABIC LETTER E ISOLATED FORM */
  {0xFBE5 , AL }, /* ARABIC LETTER E FINAL FORM */
  {0xFBE6 , AL }, /* ARABIC LETTER E INITIAL FORM */
  {0xFBE7 , AL }, /* ARABIC LETTER E MEDIAL FORM */
  {0xFBE8 , AL }, /* ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM */
  {0xFBE9 , AL }, /* ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM */
  {0xFBEA , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM */
  {0xFBEB , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM */
  {0xFBEC , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM */
  {0xFBED , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM */
  {0xFBEE , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM */
  {0xFBEF , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM */
  {0xFBF0 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM */
  {0xFBF1 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM */
  {0xFBF2 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM */
  {0xFBF3 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM */
  {0xFBF4 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM */
  {0xFBF5 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM */
  {0xFBF6 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM */
  {0xFBF7 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM */
  {0xFBF8 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM */
  {0xFBF9 , AL }, /* ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM */
  {0xFBFA , AL }, /* ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM */
  {0xFBFB , AL }, /* ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM */
  {0xFBFC , AL }, /* ARABIC LETTER FARSI YEH ISOLATED FORM */
  {0xFBFD , AL }, /* ARABIC LETTER FARSI YEH FINAL FORM */
  {0xFBFE , AL }, /* ARABIC LETTER FARSI YEH INITIAL FORM */
  {0xFBFF , AL }, /* ARABIC LETTER FARSI YEH MEDIAL FORM */
  {0xFC00 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM */
  {0xFC01 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM */
  {0xFC02 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM */
  {0xFC03 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC04 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM */
  {0xFC05 , AL }, /* ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM */
  {0xFC06 , AL }, /* ARABIC LIGATURE BEH WITH HAH ISOLATED FORM */
  {0xFC07 , AL }, /* ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM */
  {0xFC08 , AL }, /* ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM */
  {0xFC09 , AL }, /* ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC0A , AL }, /* ARABIC LIGATURE BEH WITH YEH ISOLATED FORM */
  {0xFC0B , AL }, /* ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM */
  {0xFC0C , AL }, /* ARABIC LIGATURE TEH WITH HAH ISOLATED FORM */
  {0xFC0D , AL }, /* ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM */
  {0xFC0E , AL }, /* ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM */
  {0xFC0F , AL }, /* ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC10 , AL }, /* ARABIC LIGATURE TEH WITH YEH ISOLATED FORM */
  {0xFC11 , AL }, /* ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM */
  {0xFC12 , AL }, /* ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM */
  {0xFC13 , AL }, /* ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC14 , AL }, /* ARABIC LIGATURE THEH WITH YEH ISOLATED FORM */
  {0xFC15 , AL }, /* ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM */
  {0xFC16 , AL }, /* ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM */
  {0xFC17 , AL }, /* ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM */
  {0xFC18 , AL }, /* ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM */
  {0xFC19 , AL }, /* ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM */
  {0xFC1A , AL }, /* ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM */
  {0xFC1B , AL }, /* ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM */
  {0xFC1C , AL }, /* ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM */
  {0xFC1D , AL }, /* ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM */
  {0xFC1E , AL }, /* ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM */
  {0xFC1F , AL }, /* ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM */
  {0xFC20 , AL }, /* ARABIC LIGATURE SAD WITH HAH ISOLATED FORM */
  {0xFC21 , AL }, /* ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM */
  {0xFC22 , AL }, /* ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM */
  {0xFC23 , AL }, /* ARABIC LIGATURE DAD WITH HAH ISOLATED FORM */
  {0xFC24 , AL }, /* ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM */
  {0xFC25 , AL }, /* ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM */
  {0xFC26 , AL }, /* ARABIC LIGATURE TAH WITH HAH ISOLATED FORM */
  {0xFC27 , AL }, /* ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM */
  {0xFC28 , AL }, /* ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM */
  {0xFC29 , AL }, /* ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM */
  {0xFC2A , AL }, /* ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM */
  {0xFC2B , AL }, /* ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM */
  {0xFC2C , AL }, /* ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM */
  {0xFC2D , AL }, /* ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM */
  {0xFC2E , AL }, /* ARABIC LIGATURE FEH WITH HAH ISOLATED FORM */
  {0xFC2F , AL }, /* ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM */
  {0xFC30 , AL }, /* ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM */
  {0xFC31 , AL }, /* ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC32 , AL }, /* ARABIC LIGATURE FEH WITH YEH ISOLATED FORM */
  {0xFC33 , AL }, /* ARABIC LIGATURE QAF WITH HAH ISOLATED FORM */
  {0xFC34 , AL }, /* ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM */
  {0xFC35 , AL }, /* ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC36 , AL }, /* ARABIC LIGATURE QAF WITH YEH ISOLATED FORM */
  {0xFC37 , AL }, /* ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM */
  {0xFC38 , AL }, /* ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM */
  {0xFC39 , AL }, /* ARABIC LIGATURE KAF WITH HAH ISOLATED FORM */
  {0xFC3A , AL }, /* ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM */
  {0xFC3B , AL }, /* ARABIC LIGATURE KAF WITH LAM ISOLATED FORM */
  {0xFC3C , AL }, /* ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM */
  {0xFC3D , AL }, /* ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC3E , AL }, /* ARABIC LIGATURE KAF WITH YEH ISOLATED FORM */
  {0xFC3F , AL }, /* ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM */
  {0xFC40 , AL }, /* ARABIC LIGATURE LAM WITH HAH ISOLATED FORM */
  {0xFC41 , AL }, /* ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM */
  {0xFC42 , AL }, /* ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM */
  {0xFC43 , AL }, /* ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC44 , AL }, /* ARABIC LIGATURE LAM WITH YEH ISOLATED FORM */
  {0xFC45 , AL }, /* ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM */
  {0xFC46 , AL }, /* ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM */
  {0xFC47 , AL }, /* ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM */
  {0xFC48 , AL }, /* ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM */
  {0xFC49 , AL }, /* ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC4A , AL }, /* ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM */
  {0xFC4B , AL }, /* ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM */
  {0xFC4C , AL }, /* ARABIC LIGATURE NOON WITH HAH ISOLATED FORM */
  {0xFC4D , AL }, /* ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM */
  {0xFC4E , AL }, /* ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM */
  {0xFC4F , AL }, /* ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC50 , AL }, /* ARABIC LIGATURE NOON WITH YEH ISOLATED FORM */
  {0xFC51 , AL }, /* ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM */
  {0xFC52 , AL }, /* ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM */
  {0xFC53 , AL }, /* ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC54 , AL }, /* ARABIC LIGATURE HEH WITH YEH ISOLATED FORM */
  {0xFC55 , AL }, /* ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM */
  {0xFC56 , AL }, /* ARABIC LIGATURE YEH WITH HAH ISOLATED FORM */
  {0xFC57 , AL }, /* ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM */
  {0xFC58 , AL }, /* ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM */
  {0xFC59 , AL }, /* ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFC5A , AL }, /* ARABIC LIGATURE YEH WITH YEH ISOLATED FORM */
  {0xFC5B , AL }, /* ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM */
  {0xFC5C , AL }, /* ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM */
  {0xFC5D , AL }, /* ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM */
  {0xFC5E , AL }, /* ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM */
  {0xFC5F , AL }, /* ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM */
  {0xFC60 , AL }, /* ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM */
  {0xFC61 , AL }, /* ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM */
  {0xFC62 , AL }, /* ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM */
  {0xFC63 , AL }, /* ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM */
  {0xFC64 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM */
  {0xFC65 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM */
  {0xFC66 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM */
  {0xFC67 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM */
  {0xFC68 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM */
  {0xFC69 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM */
  {0xFC6A , AL }, /* ARABIC LIGATURE BEH WITH REH FINAL FORM */
  {0xFC6B , AL }, /* ARABIC LIGATURE BEH WITH ZAIN FINAL FORM */
  {0xFC6C , AL }, /* ARABIC LIGATURE BEH WITH MEEM FINAL FORM */
  {0xFC6D , AL }, /* ARABIC LIGATURE BEH WITH NOON FINAL FORM */
  {0xFC6E , AL }, /* ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM */
  {0xFC6F , AL }, /* ARABIC LIGATURE BEH WITH YEH FINAL FORM */
  {0xFC70 , AL }, /* ARABIC LIGATURE TEH WITH REH FINAL FORM */
  {0xFC71 , AL }, /* ARABIC LIGATURE TEH WITH ZAIN FINAL FORM */
  {0xFC72 , AL }, /* ARABIC LIGATURE TEH WITH MEEM FINAL FORM */
  {0xFC73 , AL }, /* ARABIC LIGATURE TEH WITH NOON FINAL FORM */
  {0xFC74 , AL }, /* ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM */
  {0xFC75 , AL }, /* ARABIC LIGATURE TEH WITH YEH FINAL FORM */
  {0xFC76 , AL }, /* ARABIC LIGATURE THEH WITH REH FINAL FORM */
  {0xFC77 , AL }, /* ARABIC LIGATURE THEH WITH ZAIN FINAL FORM */
  {0xFC78 , AL }, /* ARABIC LIGATURE THEH WITH MEEM FINAL FORM */
  {0xFC79 , AL }, /* ARABIC LIGATURE THEH WITH NOON FINAL FORM */
  {0xFC7A , AL }, /* ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM */
  {0xFC7B , AL }, /* ARABIC LIGATURE THEH WITH YEH FINAL FORM */
  {0xFC7C , AL }, /* ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM */
  {0xFC7D , AL }, /* ARABIC LIGATURE FEH WITH YEH FINAL FORM */
  {0xFC7E , AL }, /* ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM */
  {0xFC7F , AL }, /* ARABIC LIGATURE QAF WITH YEH FINAL FORM */
  {0xFC80 , AL }, /* ARABIC LIGATURE KAF WITH ALEF FINAL FORM */
  {0xFC81 , AL }, /* ARABIC LIGATURE KAF WITH LAM FINAL FORM */
  {0xFC82 , AL }, /* ARABIC LIGATURE KAF WITH MEEM FINAL FORM */
  {0xFC83 , AL }, /* ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM */
  {0xFC84 , AL }, /* ARABIC LIGATURE KAF WITH YEH FINAL FORM */
  {0xFC85 , AL }, /* ARABIC LIGATURE LAM WITH MEEM FINAL FORM */
  {0xFC86 , AL }, /* ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM */
  {0xFC87 , AL }, /* ARABIC LIGATURE LAM WITH YEH FINAL FORM */
  {0xFC88 , AL }, /* ARABIC LIGATURE MEEM WITH ALEF FINAL FORM */
  {0xFC89 , AL }, /* ARABIC LIGATURE MEEM WITH MEEM FINAL FORM */
  {0xFC8A , AL }, /* ARABIC LIGATURE NOON WITH REH FINAL FORM */
  {0xFC8B , AL }, /* ARABIC LIGATURE NOON WITH ZAIN FINAL FORM */
  {0xFC8C , AL }, /* ARABIC LIGATURE NOON WITH MEEM FINAL FORM */
  {0xFC8D , AL }, /* ARABIC LIGATURE NOON WITH NOON FINAL FORM */
  {0xFC8E , AL }, /* ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM */
  {0xFC8F , AL }, /* ARABIC LIGATURE NOON WITH YEH FINAL FORM */
  {0xFC90 , AL }, /* ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM */
  {0xFC91 , AL }, /* ARABIC LIGATURE YEH WITH REH FINAL FORM */
  {0xFC92 , AL }, /* ARABIC LIGATURE YEH WITH ZAIN FINAL FORM */
  {0xFC93 , AL }, /* ARABIC LIGATURE YEH WITH MEEM FINAL FORM */
  {0xFC94 , AL }, /* ARABIC LIGATURE YEH WITH NOON FINAL FORM */
  {0xFC95 , AL }, /* ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM */
  {0xFC96 , AL }, /* ARABIC LIGATURE YEH WITH YEH FINAL FORM */
  {0xFC97 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM */
  {0xFC98 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM */
  {0xFC99 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM */
  {0xFC9A , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM */
  {0xFC9B , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM */
  {0xFC9C , AL }, /* ARABIC LIGATURE BEH WITH JEEM INITIAL FORM */
  {0xFC9D , AL }, /* ARABIC LIGATURE BEH WITH HAH INITIAL FORM */
  {0xFC9E , AL }, /* ARABIC LIGATURE BEH WITH KHAH INITIAL FORM */
  {0xFC9F , AL }, /* ARABIC LIGATURE BEH WITH MEEM INITIAL FORM */
  {0xFCA0 , AL }, /* ARABIC LIGATURE BEH WITH HEH INITIAL FORM */
  {0xFCA1 , AL }, /* ARABIC LIGATURE TEH WITH JEEM INITIAL FORM */
  {0xFCA2 , AL }, /* ARABIC LIGATURE TEH WITH HAH INITIAL FORM */
  {0xFCA3 , AL }, /* ARABIC LIGATURE TEH WITH KHAH INITIAL FORM */
  {0xFCA4 , AL }, /* ARABIC LIGATURE TEH WITH MEEM INITIAL FORM */
  {0xFCA5 , AL }, /* ARABIC LIGATURE TEH WITH HEH INITIAL FORM */
  {0xFCA6 , AL }, /* ARABIC LIGATURE THEH WITH MEEM INITIAL FORM */
  {0xFCA7 , AL }, /* ARABIC LIGATURE JEEM WITH HAH INITIAL FORM */
  {0xFCA8 , AL }, /* ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM */
  {0xFCA9 , AL }, /* ARABIC LIGATURE HAH WITH JEEM INITIAL FORM */
  {0xFCAA , AL }, /* ARABIC LIGATURE HAH WITH MEEM INITIAL FORM */
  {0xFCAB , AL }, /* ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM */
  {0xFCAC , AL }, /* ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM */
  {0xFCAD , AL }, /* ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM */
  {0xFCAE , AL }, /* ARABIC LIGATURE SEEN WITH HAH INITIAL FORM */
  {0xFCAF , AL }, /* ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM */
  {0xFCB0 , AL }, /* ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM */
  {0xFCB1 , AL }, /* ARABIC LIGATURE SAD WITH HAH INITIAL FORM */
  {0xFCB2 , AL }, /* ARABIC LIGATURE SAD WITH KHAH INITIAL FORM */
  {0xFCB3 , AL }, /* ARABIC LIGATURE SAD WITH MEEM INITIAL FORM */
  {0xFCB4 , AL }, /* ARABIC LIGATURE DAD WITH JEEM INITIAL FORM */
  {0xFCB5 , AL }, /* ARABIC LIGATURE DAD WITH HAH INITIAL FORM */
  {0xFCB6 , AL }, /* ARABIC LIGATURE DAD WITH KHAH INITIAL FORM */
  {0xFCB7 , AL }, /* ARABIC LIGATURE DAD WITH MEEM INITIAL FORM */
  {0xFCB8 , AL }, /* ARABIC LIGATURE TAH WITH HAH INITIAL FORM */
  {0xFCB9 , AL }, /* ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM */
  {0xFCBA , AL }, /* ARABIC LIGATURE AIN WITH JEEM INITIAL FORM */
  {0xFCBB , AL }, /* ARABIC LIGATURE AIN WITH MEEM INITIAL FORM */
  {0xFCBC , AL }, /* ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM */
  {0xFCBD , AL }, /* ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM */
  {0xFCBE , AL }, /* ARABIC LIGATURE FEH WITH JEEM INITIAL FORM */
  {0xFCBF , AL }, /* ARABIC LIGATURE FEH WITH HAH INITIAL FORM */
  {0xFCC0 , AL }, /* ARABIC LIGATURE FEH WITH KHAH INITIAL FORM */
  {0xFCC1 , AL }, /* ARABIC LIGATURE FEH WITH MEEM INITIAL FORM */
  {0xFCC2 , AL }, /* ARABIC LIGATURE QAF WITH HAH INITIAL FORM */
  {0xFCC3 , AL }, /* ARABIC LIGATURE QAF WITH MEEM INITIAL FORM */
  {0xFCC4 , AL }, /* ARABIC LIGATURE KAF WITH JEEM INITIAL FORM */
  {0xFCC5 , AL }, /* ARABIC LIGATURE KAF WITH HAH INITIAL FORM */
  {0xFCC6 , AL }, /* ARABIC LIGATURE KAF WITH KHAH INITIAL FORM */
  {0xFCC7 , AL }, /* ARABIC LIGATURE KAF WITH LAM INITIAL FORM */
  {0xFCC8 , AL }, /* ARABIC LIGATURE KAF WITH MEEM INITIAL FORM */
  {0xFCC9 , AL }, /* ARABIC LIGATURE LAM WITH JEEM INITIAL FORM */
  {0xFCCA , AL }, /* ARABIC LIGATURE LAM WITH HAH INITIAL FORM */
  {0xFCCB , AL }, /* ARABIC LIGATURE LAM WITH KHAH INITIAL FORM */
  {0xFCCC , AL }, /* ARABIC LIGATURE LAM WITH MEEM INITIAL FORM */
  {0xFCCD , AL }, /* ARABIC LIGATURE LAM WITH HEH INITIAL FORM */
  {0xFCCE , AL }, /* ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM */
  {0xFCCF , AL }, /* ARABIC LIGATURE MEEM WITH HAH INITIAL FORM */
  {0xFCD0 , AL }, /* ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM */
  {0xFCD1 , AL }, /* ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM */
  {0xFCD2 , AL }, /* ARABIC LIGATURE NOON WITH JEEM INITIAL FORM */
  {0xFCD3 , AL }, /* ARABIC LIGATURE NOON WITH HAH INITIAL FORM */
  {0xFCD4 , AL }, /* ARABIC LIGATURE NOON WITH KHAH INITIAL FORM */
  {0xFCD5 , AL }, /* ARABIC LIGATURE NOON WITH MEEM INITIAL FORM */
  {0xFCD6 , AL }, /* ARABIC LIGATURE NOON WITH HEH INITIAL FORM */
  {0xFCD7 , AL }, /* ARABIC LIGATURE HEH WITH JEEM INITIAL FORM */
  {0xFCD8 , AL }, /* ARABIC LIGATURE HEH WITH MEEM INITIAL FORM */
  {0xFCD9 , AL }, /* ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM */
  {0xFCDA , AL }, /* ARABIC LIGATURE YEH WITH JEEM INITIAL FORM */
  {0xFCDB , AL }, /* ARABIC LIGATURE YEH WITH HAH INITIAL FORM */
  {0xFCDC , AL }, /* ARABIC LIGATURE YEH WITH KHAH INITIAL FORM */
  {0xFCDD , AL }, /* ARABIC LIGATURE YEH WITH MEEM INITIAL FORM */
  {0xFCDE , AL }, /* ARABIC LIGATURE YEH WITH HEH INITIAL FORM */
  {0xFCDF , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM */
  {0xFCE0 , AL }, /* ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM */
  {0xFCE1 , AL }, /* ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM */
  {0xFCE2 , AL }, /* ARABIC LIGATURE BEH WITH HEH MEDIAL FORM */
  {0xFCE3 , AL }, /* ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM */
  {0xFCE4 , AL }, /* ARABIC LIGATURE TEH WITH HEH MEDIAL FORM */
  {0xFCE5 , AL }, /* ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM */
  {0xFCE6 , AL }, /* ARABIC LIGATURE THEH WITH HEH MEDIAL FORM */
  {0xFCE7 , AL }, /* ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM */
  {0xFCE8 , AL }, /* ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM */
  {0xFCE9 , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM */
  {0xFCEA , AL }, /* ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM */
  {0xFCEB , AL }, /* ARABIC LIGATURE KAF WITH LAM MEDIAL FORM */
  {0xFCEC , AL }, /* ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM */
  {0xFCED , AL }, /* ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM */
  {0xFCEE , AL }, /* ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM */
  {0xFCEF , AL }, /* ARABIC LIGATURE NOON WITH HEH MEDIAL FORM */
  {0xFCF0 , AL }, /* ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM */
  {0xFCF1 , AL }, /* ARABIC LIGATURE YEH WITH HEH MEDIAL FORM */
  {0xFCF2 , AL }, /* ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM */
  {0xFCF3 , AL }, /* ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM */
  {0xFCF4 , AL }, /* ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM */
  {0xFCF5 , AL }, /* ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFCF6 , AL }, /* ARABIC LIGATURE TAH WITH YEH ISOLATED FORM */
  {0xFCF7 , AL }, /* ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM */
  {0xFCF8 , AL }, /* ARABIC LIGATURE AIN WITH YEH ISOLATED FORM */
  {0xFCF9 , AL }, /* ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM */
  {0xFCFA , AL }, /* ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM */
  {0xFCFB , AL }, /* ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM */
  {0xFCFC , AL }, /* ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM */
  {0xFCFD , AL }, /* ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM */
  {0xFCFE , AL }, /* ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM */
  {0xFCFF , AL }, /* ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFD00 , AL }, /* ARABIC LIGATURE HAH WITH YEH ISOLATED FORM */
  {0xFD01 , AL }, /* ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM */
  {0xFD02 , AL }, /* ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM */
  {0xFD03 , AL }, /* ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM */
  {0xFD04 , AL }, /* ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM */
  {0xFD05 , AL }, /* ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM */
  {0xFD06 , AL }, /* ARABIC LIGATURE SAD WITH YEH ISOLATED FORM */
  {0xFD07 , AL }, /* ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM */
  {0xFD08 , AL }, /* ARABIC LIGATURE DAD WITH YEH ISOLATED FORM */
  {0xFD09 , AL }, /* ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM */
  {0xFD0A , AL }, /* ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM */
  {0xFD0B , AL }, /* ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM */
  {0xFD0C , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM */
  {0xFD0D , AL }, /* ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM */
  {0xFD0E , AL }, /* ARABIC LIGATURE SEEN WITH REH ISOLATED FORM */
  {0xFD0F , AL }, /* ARABIC LIGATURE SAD WITH REH ISOLATED FORM */
  {0xFD10 , AL }, /* ARABIC LIGATURE DAD WITH REH ISOLATED FORM */
  {0xFD11 , AL }, /* ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM */
  {0xFD12 , AL }, /* ARABIC LIGATURE TAH WITH YEH FINAL FORM */
  {0xFD13 , AL }, /* ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM */
  {0xFD14 , AL }, /* ARABIC LIGATURE AIN WITH YEH FINAL FORM */
  {0xFD15 , AL }, /* ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM */
  {0xFD16 , AL }, /* ARABIC LIGATURE GHAIN WITH YEH FINAL FORM */
  {0xFD17 , AL }, /* ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM */
  {0xFD18 , AL }, /* ARABIC LIGATURE SEEN WITH YEH FINAL FORM */
  {0xFD19 , AL }, /* ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM */
  {0xFD1A , AL }, /* ARABIC LIGATURE SHEEN WITH YEH FINAL FORM */
  {0xFD1B , AL }, /* ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM */
  {0xFD1C , AL }, /* ARABIC LIGATURE HAH WITH YEH FINAL FORM */
  {0xFD1D , AL }, /* ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD1E , AL }, /* ARABIC LIGATURE JEEM WITH YEH FINAL FORM */
  {0xFD1F , AL }, /* ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM */
  {0xFD20 , AL }, /* ARABIC LIGATURE KHAH WITH YEH FINAL FORM */
  {0xFD21 , AL }, /* ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM */
  {0xFD22 , AL }, /* ARABIC LIGATURE SAD WITH YEH FINAL FORM */
  {0xFD23 , AL }, /* ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM */
  {0xFD24 , AL }, /* ARABIC LIGATURE DAD WITH YEH FINAL FORM */
  {0xFD25 , AL }, /* ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM */
  {0xFD26 , AL }, /* ARABIC LIGATURE SHEEN WITH HAH FINAL FORM */
  {0xFD27 , AL }, /* ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM */
  {0xFD28 , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM */
  {0xFD29 , AL }, /* ARABIC LIGATURE SHEEN WITH REH FINAL FORM */
  {0xFD2A , AL }, /* ARABIC LIGATURE SEEN WITH REH FINAL FORM */
  {0xFD2B , AL }, /* ARABIC LIGATURE SAD WITH REH FINAL FORM */
  {0xFD2C , AL }, /* ARABIC LIGATURE DAD WITH REH FINAL FORM */
  {0xFD2D , AL }, /* ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM */
  {0xFD2E , AL }, /* ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM */
  {0xFD2F , AL }, /* ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM */
  {0xFD30 , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM */
  {0xFD31 , AL }, /* ARABIC LIGATURE SEEN WITH HEH INITIAL FORM */
  {0xFD32 , AL }, /* ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM */
  {0xFD33 , AL }, /* ARABIC LIGATURE TAH WITH MEEM INITIAL FORM */
  {0xFD34 , AL }, /* ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM */
  {0xFD35 , AL }, /* ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM */
  {0xFD36 , AL }, /* ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM */
  {0xFD37 , AL }, /* ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM */
  {0xFD38 , AL }, /* ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM */
  {0xFD39 , AL }, /* ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM */
  {0xFD3A , AL }, /* ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM */
  {0xFD3B , AL }, /* ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM */
  {0xFD3C , AL }, /* ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM */
  {0xFD3D , AL }, /* ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM */
  {0xFD3E , ON }, /* ORNATE LEFT PARENTHESIS */
  {0xFD3F , ON }, /* ORNATE RIGHT PARENTHESIS */
  {0xFD50 , AL }, /* ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM */
  {0xFD51 , AL }, /* ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM */
  {0xFD52 , AL }, /* ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM */
  {0xFD53 , AL }, /* ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM */
  {0xFD54 , AL }, /* ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM */
  {0xFD55 , AL }, /* ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM */
  {0xFD56 , AL }, /* ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM */
  {0xFD57 , AL }, /* ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM */
  {0xFD58 , AL }, /* ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM */
  {0xFD59 , AL }, /* ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM */
  {0xFD5A , AL }, /* ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM */
  {0xFD5B , AL }, /* ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD5C , AL }, /* ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM */
  {0xFD5D , AL }, /* ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM */
  {0xFD5E , AL }, /* ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD5F , AL }, /* ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM */
  {0xFD60 , AL }, /* ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM */
  {0xFD61 , AL }, /* ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM */
  {0xFD62 , AL }, /* ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM */
  {0xFD63 , AL }, /* ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM */
  {0xFD64 , AL }, /* ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM */
  {0xFD65 , AL }, /* ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM */
  {0xFD66 , AL }, /* ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM */
  {0xFD67 , AL }, /* ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM */
  {0xFD68 , AL }, /* ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM */
  {0xFD69 , AL }, /* ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM */
  {0xFD6A , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM */
  {0xFD6B , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM */
  {0xFD6C , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM */
  {0xFD6D , AL }, /* ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM */
  {0xFD6E , AL }, /* ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM */
  {0xFD6F , AL }, /* ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM */
  {0xFD70 , AL }, /* ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM */
  {0xFD71 , AL }, /* ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM */
  {0xFD72 , AL }, /* ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM */
  {0xFD73 , AL }, /* ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM */
  {0xFD74 , AL }, /* ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM */
  {0xFD75 , AL }, /* ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM */
  {0xFD76 , AL }, /* ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM */
  {0xFD77 , AL }, /* ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM */
  {0xFD78 , AL }, /* ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD79 , AL }, /* ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM */
  {0xFD7A , AL }, /* ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM */
  {0xFD7B , AL }, /* ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD7C , AL }, /* ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM */
  {0xFD7D , AL }, /* ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM */
  {0xFD7E , AL }, /* ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM */
  {0xFD7F , AL }, /* ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM */
  {0xFD80 , AL }, /* ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM */
  {0xFD81 , AL }, /* ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM */
  {0xFD82 , AL }, /* ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM */
  {0xFD83 , AL }, /* ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM */
  {0xFD84 , AL }, /* ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM */
  {0xFD85 , AL }, /* ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM */
  {0xFD86 , AL }, /* ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM */
  {0xFD87 , AL }, /* ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM */
  {0xFD88 , AL }, /* ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM */
  {0xFD89 , AL }, /* ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM */
  {0xFD8A , AL }, /* ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM */
  {0xFD8B , AL }, /* ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM */
  {0xFD8C , AL }, /* ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM */
  {0xFD8D , AL }, /* ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM */
  {0xFD8E , AL }, /* ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM */
  {0xFD8F , AL }, /* ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM */
  {0xFD92 , AL }, /* ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM */
  {0xFD93 , AL }, /* ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM */
  {0xFD94 , AL }, /* ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM */
  {0xFD95 , AL }, /* ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM */
  {0xFD96 , AL }, /* ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM */
  {0xFD97 , AL }, /* ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM */
  {0xFD98 , AL }, /* ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM */
  {0xFD99 , AL }, /* ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD9A , AL }, /* ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM */
  {0xFD9B , AL }, /* ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFD9C , AL }, /* ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM */
  {0xFD9D , AL }, /* ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM */
  {0xFD9E , AL }, /* ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM */
  {0xFD9F , AL }, /* ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM */
  {0xFDA0 , AL }, /* ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFDA1 , AL }, /* ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM */
  {0xFDA2 , AL }, /* ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM */
  {0xFDA3 , AL }, /* ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM */
  {0xFDA4 , AL }, /* ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFDA5 , AL }, /* ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM */
  {0xFDA6 , AL }, /* ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM */
  {0xFDA7 , AL }, /* ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM */
  {0xFDA8 , AL }, /* ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM */
  {0xFDA9 , AL }, /* ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM */
  {0xFDAA , AL }, /* ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM */
  {0xFDAB , AL }, /* ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM */
  {0xFDAC , AL }, /* ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM */
  {0xFDAD , AL }, /* ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM */
  {0xFDAE , AL }, /* ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM */
  {0xFDAF , AL }, /* ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM */
  {0xFDB0 , AL }, /* ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM */
  {0xFDB1 , AL }, /* ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM */
  {0xFDB2 , AL }, /* ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM */
  {0xFDB3 , AL }, /* ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM */
  {0xFDB4 , AL }, /* ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM */
  {0xFDB5 , AL }, /* ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM */
  {0xFDB6 , AL }, /* ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM */
  {0xFDB7 , AL }, /* ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM */
  {0xFDB8 , AL }, /* ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM */
  {0xFDB9 , AL }, /* ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM */
  {0xFDBA , AL }, /* ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM */
  {0xFDBB , AL }, /* ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM */
  {0xFDBC , AL }, /* ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM */
  {0xFDBD , AL }, /* ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM */
  {0xFDBE , AL }, /* ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM */
  {0xFDBF , AL }, /* ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM */
  {0xFDC0 , AL }, /* ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM */
  {0xFDC1 , AL }, /* ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM */
  {0xFDC2 , AL }, /* ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM */
  {0xFDC3 , AL }, /* ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM */
  {0xFDC4 , AL }, /* ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM */
  {0xFDC5 , AL }, /* ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM */
  {0xFDC6 , AL }, /* ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM */
  {0xFDC7 , AL }, /* ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM */
  {0xFDF0 , AL }, /* ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM */
  {0xFDF1 , AL }, /* ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM */
  {0xFDF2 , AL }, /* ARABIC LIGATURE ALLAH ISOLATED FORM */
  {0xFDF3 , AL }, /* ARABIC LIGATURE AKBAR ISOLATED FORM */
  {0xFDF4 , AL }, /* ARABIC LIGATURE MOHAMMAD ISOLATED FORM */
  {0xFDF5 , AL }, /* ARABIC LIGATURE SALAM ISOLATED FORM */
  {0xFDF6 , AL }, /* ARABIC LIGATURE RASOUL ISOLATED FORM */
  {0xFDF7 , AL }, /* ARABIC LIGATURE ALAYHE ISOLATED FORM */
  {0xFDF8 , AL }, /* ARABIC LIGATURE WASALLAM ISOLATED FORM */
  {0xFDF9 , AL }, /* ARABIC LIGATURE SALLA ISOLATED FORM */
  {0xFDFA , AL }, /* ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM */
  {0xFDFB , AL }, /* ARABIC LIGATURE JALLAJALALOUHOU */
  {0xFDFC , AL }, /* RIAL SIGN */
  {0xFDFD , ON }, /* ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM */
  {0xFE00 , NSM}, /* VARIATION SELECTOR-1 */
  {0xFE01 , NSM}, /* VARIATION SELECTOR-2 */
  {0xFE02 , NSM}, /* VARIATION SELECTOR-3 */
  {0xFE03 , NSM}, /* VARIATION SELECTOR-4 */
  {0xFE04 , NSM}, /* VARIATION SELECTOR-5 */
  {0xFE05 , NSM}, /* VARIATION SELECTOR-6 */
  {0xFE06 , NSM}, /* VARIATION SELECTOR-7 */
  {0xFE07 , NSM}, /* VARIATION SELECTOR-8 */
  {0xFE08 , NSM}, /* VARIATION SELECTOR-9 */
  {0xFE09 , NSM}, /* VARIATION SELECTOR-10 */
  {0xFE0A , NSM}, /* VARIATION SELECTOR-11 */
  {0xFE0B , NSM}, /* VARIATION SELECTOR-12 */
  {0xFE0C , NSM}, /* VARIATION SELECTOR-13 */
  {0xFE0D , NSM}, /* VARIATION SELECTOR-14 */
  {0xFE0E , NSM}, /* VARIATION SELECTOR-15 */
  {0xFE0F , NSM}, /* VARIATION SELECTOR-16 */
  {0xFE10 , ON }, /* PRESENTATION FORM FOR VERTICAL COMMA */
  {0xFE11 , ON }, /* PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA */
  {0xFE12 , ON }, /* PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP */
  {0xFE13 , ON }, /* PRESENTATION FORM FOR VERTICAL COLON */
  {0xFE14 , ON }, /* PRESENTATION FORM FOR VERTICAL SEMICOLON */
  {0xFE15 , ON }, /* PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK */
  {0xFE16 , ON }, /* PRESENTATION FORM FOR VERTICAL QUESTION MARK */
  {0xFE17 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET */
  {0xFE18 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET */
  {0xFE19 , ON }, /* PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS */
  {0xFE20 , NSM}, /* COMBINING LIGATURE LEFT HALF */
  {0xFE21 , NSM}, /* COMBINING LIGATURE RIGHT HALF */
  {0xFE22 , NSM}, /* COMBINING DOUBLE TILDE LEFT HALF */
  {0xFE23 , NSM}, /* COMBINING DOUBLE TILDE RIGHT HALF */
  {0xFE30 , ON }, /* PRESENTATION FORM FOR VERTICAL TWO DOT LEADER */
  {0xFE31 , ON }, /* PRESENTATION FORM FOR VERTICAL EM DASH */
  {0xFE32 , ON }, /* PRESENTATION FORM FOR VERTICAL EN DASH */
  {0xFE33 , ON }, /* PRESENTATION FORM FOR VERTICAL LOW LINE */
  {0xFE34 , ON }, /* PRESENTATION FORM FOR VERTICAL WAVY LOW LINE */
  {0xFE35 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS */
  {0xFE36 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS */
  {0xFE37 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET */
  {0xFE38 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET */
  {0xFE39 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET */
  {0xFE3A , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET */
  {0xFE3B , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET */
  {0xFE3C , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET */
  {0xFE3D , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET */
  {0xFE3E , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET */
  {0xFE3F , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET */
  {0xFE40 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET */
  {0xFE41 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET */
  {0xFE42 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET */
  {0xFE43 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET */
  {0xFE44 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET */
  {0xFE45 , ON }, /* SESAME DOT */
  {0xFE46 , ON }, /* WHITE SESAME DOT */
  {0xFE47 , ON }, /* PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET */
  {0xFE48 , ON }, /* PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET */
  {0xFE49 , ON }, /* DASHED OVERLINE */
  {0xFE4A , ON }, /* CENTRELINE OVERLINE */
  {0xFE4B , ON }, /* WAVY OVERLINE */
  {0xFE4C , ON }, /* DOUBLE WAVY OVERLINE */
  {0xFE4D , ON }, /* DASHED LOW LINE */
  {0xFE4E , ON }, /* CENTRELINE LOW LINE */
  {0xFE4F , ON }, /* WAVY LOW LINE */
  {0xFE50 , CS }, /* SMALL COMMA */
  {0xFE51 , ON }, /* SMALL IDEOGRAPHIC COMMA */
  {0xFE52 , CS }, /* SMALL FULL STOP */
  {0xFE54 , ON }, /* SMALL SEMICOLON */
  {0xFE55 , CS }, /* SMALL COLON */
  {0xFE56 , ON }, /* SMALL QUESTION MARK */
  {0xFE57 , ON }, /* SMALL EXCLAMATION MARK */
  {0xFE58 , ON }, /* SMALL EM DASH */
  {0xFE59 , ON }, /* SMALL LEFT PARENTHESIS */
  {0xFE5A , ON }, /* SMALL RIGHT PARENTHESIS */
  {0xFE5B , ON }, /* SMALL LEFT CURLY BRACKET */
  {0xFE5C , ON }, /* SMALL RIGHT CURLY BRACKET */
  {0xFE5D , ON }, /* SMALL LEFT TORTOISE SHELL BRACKET */
  {0xFE5E , ON }, /* SMALL RIGHT TORTOISE SHELL BRACKET */
  {0xFE5F , ET }, /* SMALL NUMBER SIGN */
  {0xFE60 , ON }, /* SMALL AMPERSAND */
  {0xFE61 , ON }, /* SMALL ASTERISK */
  {0xFE62 , ES }, /* SMALL PLUS SIGN */
  {0xFE63 , ES }, /* SMALL HYPHEN-MINUS */
  {0xFE64 , ON }, /* SMALL LESS-THAN SIGN */
  {0xFE65 , ON }, /* SMALL GREATER-THAN SIGN */
  {0xFE66 , ON }, /* SMALL EQUALS SIGN */
  {0xFE68 , ON }, /* SMALL REVERSE SOLIDUS */
  {0xFE69 , ET }, /* SMALL DOLLAR SIGN */
  {0xFE6A , ET }, /* SMALL PERCENT SIGN */
  {0xFE6B , ON }, /* SMALL COMMERCIAL AT */
  {0xFE70 , AL }, /* ARABIC FATHATAN ISOLATED FORM */
  {0xFE71 , AL }, /* ARABIC TATWEEL WITH FATHATAN ABOVE */
  {0xFE72 , AL }, /* ARABIC DAMMATAN ISOLATED FORM */
  {0xFE73 , AL }, /* ARABIC TAIL FRAGMENT */
  {0xFE74 , AL }, /* ARABIC KASRATAN ISOLATED FORM */
  {0xFE76 , AL }, /* ARABIC FATHA ISOLATED FORM */
  {0xFE77 , AL }, /* ARABIC FATHA MEDIAL FORM */
  {0xFE78 , AL }, /* ARABIC DAMMA ISOLATED FORM */
  {0xFE79 , AL }, /* ARABIC DAMMA MEDIAL FORM */
  {0xFE7A , AL }, /* ARABIC KASRA ISOLATED FORM */
  {0xFE7B , AL }, /* ARABIC KASRA MEDIAL FORM */
  {0xFE7C , AL }, /* ARABIC SHADDA ISOLATED FORM */
  {0xFE7D , AL }, /* ARABIC SHADDA MEDIAL FORM */
  {0xFE7E , AL }, /* ARABIC SUKUN ISOLATED FORM */
  {0xFE7F , AL }, /* ARABIC SUKUN MEDIAL FORM */
  {0xFE80 , AL }, /* ARABIC LETTER HAMZA ISOLATED FORM */
  {0xFE81 , AL }, /* ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM */
  {0xFE82 , AL }, /* ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM */
  {0xFE83 , AL }, /* ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM */
  {0xFE84 , AL }, /* ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM */
  {0xFE85 , AL }, /* ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM */
  {0xFE86 , AL }, /* ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM */
  {0xFE87 , AL }, /* ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM */
  {0xFE88 , AL }, /* ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM */
  {0xFE89 , AL }, /* ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM */
  {0xFE8A , AL }, /* ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM */
  {0xFE8B , AL }, /* ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM */
  {0xFE8C , AL }, /* ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM */
  {0xFE8D , AL }, /* ARABIC LETTER ALEF ISOLATED FORM */
  {0xFE8E , AL }, /* ARABIC LETTER ALEF FINAL FORM */
  {0xFE8F , AL }, /* ARABIC LETTER BEH ISOLATED FORM */
  {0xFE90 , AL }, /* ARABIC LETTER BEH FINAL FORM */
  {0xFE91 , AL }, /* ARABIC LETTER BEH INITIAL FORM */
  {0xFE92 , AL }, /* ARABIC LETTER BEH MEDIAL FORM */
  {0xFE93 , AL }, /* ARABIC LETTER TEH MARBUTA ISOLATED FORM */
  {0xFE94 , AL }, /* ARABIC LETTER TEH MARBUTA FINAL FORM */
  {0xFE95 , AL }, /* ARABIC LETTER TEH ISOLATED FORM */
  {0xFE96 , AL }, /* ARABIC LETTER TEH FINAL FORM */
  {0xFE97 , AL }, /* ARABIC LETTER TEH INITIAL FORM */
  {0xFE98 , AL }, /* ARABIC LETTER TEH MEDIAL FORM */
  {0xFE99 , AL }, /* ARABIC LETTER THEH ISOLATED FORM */
  {0xFE9A , AL }, /* ARABIC LETTER THEH FINAL FORM */
  {0xFE9B , AL }, /* ARABIC LETTER THEH INITIAL FORM */
  {0xFE9C , AL }, /* ARABIC LETTER THEH MEDIAL FORM */
  {0xFE9D , AL }, /* ARABIC LETTER JEEM ISOLATED FORM */
  {0xFE9E , AL }, /* ARABIC LETTER JEEM FINAL FORM */
  {0xFE9F , AL }, /* ARABIC LETTER JEEM INITIAL FORM */
  {0xFEA0 , AL }, /* ARABIC LETTER JEEM MEDIAL FORM */
  {0xFEA1 , AL }, /* ARABIC LETTER HAH ISOLATED FORM */
  {0xFEA2 , AL }, /* ARABIC LETTER HAH FINAL FORM */
  {0xFEA3 , AL }, /* ARABIC LETTER HAH INITIAL FORM */
  {0xFEA4 , AL }, /* ARABIC LETTER HAH MEDIAL FORM */
  {0xFEA5 , AL }, /* ARABIC LETTER KHAH ISOLATED FORM */
  {0xFEA6 , AL }, /* ARABIC LETTER KHAH FINAL FORM */
  {0xFEA7 , AL }, /* ARABIC LETTER KHAH INITIAL FORM */
  {0xFEA8 , AL }, /* ARABIC LETTER KHAH MEDIAL FORM */
  {0xFEA9 , AL }, /* ARABIC LETTER DAL ISOLATED FORM */
  {0xFEAA , AL }, /* ARABIC LETTER DAL FINAL FORM */
  {0xFEAB , AL }, /* ARABIC LETTER THAL ISOLATED FORM */
  {0xFEAC , AL }, /* ARABIC LETTER THAL FINAL FORM */
  {0xFEAD , AL }, /* ARABIC LETTER REH ISOLATED FORM */
  {0xFEAE , AL }, /* ARABIC LETTER REH FINAL FORM */
  {0xFEAF , AL }, /* ARABIC LETTER ZAIN ISOLATED FORM */
  {0xFEB0 , AL }, /* ARABIC LETTER ZAIN FINAL FORM */
  {0xFEB1 , AL }, /* ARABIC LETTER SEEN ISOLATED FORM */
  {0xFEB2 , AL }, /* ARABIC LETTER SEEN FINAL FORM */
  {0xFEB3 , AL }, /* ARABIC LETTER SEEN INITIAL FORM */
  {0xFEB4 , AL }, /* ARABIC LETTER SEEN MEDIAL FORM */
  {0xFEB5 , AL }, /* ARABIC LETTER SHEEN ISOLATED FORM */
  {0xFEB6 , AL }, /* ARABIC LETTER SHEEN FINAL FORM */
  {0xFEB7 , AL }, /* ARABIC LETTER SHEEN INITIAL FORM */
  {0xFEB8 , AL }, /* ARABIC LETTER SHEEN MEDIAL FORM */
  {0xFEB9 , AL }, /* ARABIC LETTER SAD ISOLATED FORM */
  {0xFEBA , AL }, /* ARABIC LETTER SAD FINAL FORM */
  {0xFEBB , AL }, /* ARABIC LETTER SAD INITIAL FORM */
  {0xFEBC , AL }, /* ARABIC LETTER SAD MEDIAL FORM */
  {0xFEBD , AL }, /* ARABIC LETTER DAD ISOLATED FORM */
  {0xFEBE , AL }, /* ARABIC LETTER DAD FINAL FORM */
  {0xFEBF , AL }, /* ARABIC LETTER DAD INITIAL FORM */
  {0xFEC0 , AL }, /* ARABIC LETTER DAD MEDIAL FORM */
  {0xFEC1 , AL }, /* ARABIC LETTER TAH ISOLATED FORM */
  {0xFEC2 , AL }, /* ARABIC LETTER TAH FINAL FORM */
  {0xFEC3 , AL }, /* ARABIC LETTER TAH INITIAL FORM */
  {0xFEC4 , AL }, /* ARABIC LETTER TAH MEDIAL FORM */
  {0xFEC5 , AL }, /* ARABIC LETTER ZAH ISOLATED FORM */
  {0xFEC6 , AL }, /* ARABIC LETTER ZAH FINAL FORM */
  {0xFEC7 , AL }, /* ARABIC LETTER ZAH INITIAL FORM */
  {0xFEC8 , AL }, /* ARABIC LETTER ZAH MEDIAL FORM */
  {0xFEC9 , AL }, /* ARABIC LETTER AIN ISOLATED FORM */
  {0xFECA , AL }, /* ARABIC LETTER AIN FINAL FORM */
  {0xFECB , AL }, /* ARABIC LETTER AIN INITIAL FORM */
  {0xFECC , AL }, /* ARABIC LETTER AIN MEDIAL FORM */
  {0xFECD , AL }, /* ARABIC LETTER GHAIN ISOLATED FORM */
  {0xFECE , AL }, /* ARABIC LETTER GHAIN FINAL FORM */
  {0xFECF , AL }, /* ARABIC LETTER GHAIN INITIAL FORM */
  {0xFED0 , AL }, /* ARABIC LETTER GHAIN MEDIAL FORM */
  {0xFED1 , AL }, /* ARABIC LETTER FEH ISOLATED FORM */
  {0xFED2 , AL }, /* ARABIC LETTER FEH FINAL FORM */
  {0xFED3 , AL }, /* ARABIC LETTER FEH INITIAL FORM */
  {0xFED4 , AL }, /* ARABIC LETTER FEH MEDIAL FORM */
  {0xFED5 , AL }, /* ARABIC LETTER QAF ISOLATED FORM */
  {0xFED6 , AL }, /* ARABIC LETTER QAF FINAL FORM */
  {0xFED7 , AL }, /* ARABIC LETTER QAF INITIAL FORM */
  {0xFED8 , AL }, /* ARABIC LETTER QAF MEDIAL FORM */
  {0xFED9 , AL }, /* ARABIC LETTER KAF ISOLATED FORM */
  {0xFEDA , AL }, /* ARABIC LETTER KAF FINAL FORM */
  {0xFEDB , AL }, /* ARABIC LETTER KAF INITIAL FORM */
  {0xFEDC , AL }, /* ARABIC LETTER KAF MEDIAL FORM */
  {0xFEDD , AL }, /* ARABIC LETTER LAM ISOLATED FORM */
  {0xFEDE , AL }, /* ARABIC LETTER LAM FINAL FORM */
  {0xFEDF , AL }, /* ARABIC LETTER LAM INITIAL FORM */
  {0xFEE0 , AL }, /* ARABIC LETTER LAM MEDIAL FORM */
  {0xFEE1 , AL }, /* ARABIC LETTER MEEM ISOLATED FORM */
  {0xFEE2 , AL }, /* ARABIC LETTER MEEM FINAL FORM */
  {0xFEE3 , AL }, /* ARABIC LETTER MEEM INITIAL FORM */
  {0xFEE4 , AL }, /* ARABIC LETTER MEEM MEDIAL FORM */
  {0xFEE5 , AL }, /* ARABIC LETTER NOON ISOLATED FORM */
  {0xFEE6 , AL }, /* ARABIC LETTER NOON FINAL FORM */
  {0xFEE7 , AL }, /* ARABIC LETTER NOON INITIAL FORM */
  {0xFEE8 , AL }, /* ARABIC LETTER NOON MEDIAL FORM */
  {0xFEE9 , AL }, /* ARABIC LETTER HEH ISOLATED FORM */
  {0xFEEA , AL }, /* ARABIC LETTER HEH FINAL FORM */
  {0xFEEB , AL }, /* ARABIC LETTER HEH INITIAL FORM */
  {0xFEEC , AL }, /* ARABIC LETTER HEH MEDIAL FORM */
  {0xFEED , AL }, /* ARABIC LETTER WAW ISOLATED FORM */
  {0xFEEE , AL }, /* ARABIC LETTER WAW FINAL FORM */
  {0xFEEF , AL }, /* ARABIC LETTER ALEF MAKSURA ISOLATED FORM */
  {0xFEF0 , AL }, /* ARABIC LETTER ALEF MAKSURA FINAL FORM */
  {0xFEF1 , AL }, /* ARABIC LETTER YEH ISOLATED FORM */
  {0xFEF2 , AL }, /* ARABIC LETTER YEH FINAL FORM */
  {0xFEF3 , AL }, /* ARABIC LETTER YEH INITIAL FORM */
  {0xFEF4 , AL }, /* ARABIC LETTER YEH MEDIAL FORM */
  {0xFEF5 , AL }, /* ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM */
  {0xFEF6 , AL }, /* ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM */
  {0xFEF7 , AL }, /* ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM */
  {0xFEF8 , AL }, /* ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM */
  {0xFEF9 , AL }, /* ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM */
  {0xFEFA , AL }, /* ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM */
  {0xFEFB , AL }, /* ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM */
  {0xFEFC , AL }, /* ARABIC LIGATURE LAM WITH ALEF FINAL FORM */
  {0xFEFF , BN }, /* ZERO WIDTH NO-BREAK SPACE */
  {0xFF01 , ON }, /* FULLWIDTH EXCLAMATION MARK */
  {0xFF02 , ON }, /* FULLWIDTH QUOTATION MARK */
  {0xFF03 , ET }, /* FULLWIDTH NUMBER SIGN */
  {0xFF04 , ET }, /* FULLWIDTH DOLLAR SIGN */
  {0xFF05 , ET }, /* FULLWIDTH PERCENT SIGN */
  {0xFF06 , ON }, /* FULLWIDTH AMPERSAND */
  {0xFF07 , ON }, /* FULLWIDTH APOSTROPHE */
  {0xFF08 , ON }, /* FULLWIDTH LEFT PARENTHESIS */
  {0xFF09 , ON }, /* FULLWIDTH RIGHT PARENTHESIS */
  {0xFF0A , ON }, /* FULLWIDTH ASTERISK */
  {0xFF0B , ES }, /* FULLWIDTH PLUS SIGN */
  {0xFF0C , CS }, /* FULLWIDTH COMMA */
  {0xFF0D , ES }, /* FULLWIDTH HYPHEN-MINUS */
  {0xFF0E , CS }, /* FULLWIDTH FULL STOP */
  {0xFF0F , CS }, /* FULLWIDTH SOLIDUS */
  {0xFF10 , EN }, /* FULLWIDTH DIGIT ZERO */
  {0xFF11 , EN }, /* FULLWIDTH DIGIT ONE */
  {0xFF12 , EN }, /* FULLWIDTH DIGIT TWO */
  {0xFF13 , EN }, /* FULLWIDTH DIGIT THREE */
  {0xFF14 , EN }, /* FULLWIDTH DIGIT FOUR */
  {0xFF15 , EN }, /* FULLWIDTH DIGIT FIVE */
  {0xFF16 , EN }, /* FULLWIDTH DIGIT SIX */
  {0xFF17 , EN }, /* FULLWIDTH DIGIT SEVEN */
  {0xFF18 , EN }, /* FULLWIDTH DIGIT EIGHT */
  {0xFF19 , EN }, /* FULLWIDTH DIGIT NINE */
  {0xFF1A , CS }, /* FULLWIDTH COLON */
  {0xFF1B , ON }, /* FULLWIDTH SEMICOLON */
  {0xFF1C , ON }, /* FULLWIDTH LESS-THAN SIGN */
  {0xFF1D , ON }, /* FULLWIDTH EQUALS SIGN */
  {0xFF1E , ON }, /* FULLWIDTH GREATER-THAN SIGN */
  {0xFF1F , ON }, /* FULLWIDTH QUESTION MARK */
  {0xFF20 , ON }, /* FULLWIDTH COMMERCIAL AT */
  {0xFF21 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER A */
  {0xFF22 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER B */
  {0xFF23 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER C */
  {0xFF24 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER D */
  {0xFF25 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER E */
  {0xFF26 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER F */
  {0xFF27 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER G */
  {0xFF28 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER H */
  {0xFF29 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER I */
  {0xFF2A , L  }, /* FULLWIDTH LATIN CAPITAL LETTER J */
  {0xFF2B , L  }, /* FULLWIDTH LATIN CAPITAL LETTER K */
  {0xFF2C , L  }, /* FULLWIDTH LATIN CAPITAL LETTER L */
  {0xFF2D , L  }, /* FULLWIDTH LATIN CAPITAL LETTER M */
  {0xFF2E , L  }, /* FULLWIDTH LATIN CAPITAL LETTER N */
  {0xFF2F , L  }, /* FULLWIDTH LATIN CAPITAL LETTER O */
  {0xFF30 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER P */
  {0xFF31 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER Q */
  {0xFF32 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER R */
  {0xFF33 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER S */
  {0xFF34 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER T */
  {0xFF35 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER U */
  {0xFF36 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER V */
  {0xFF37 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER W */
  {0xFF38 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER X */
  {0xFF39 , L  }, /* FULLWIDTH LATIN CAPITAL LETTER Y */
  {0xFF3A , L  }, /* FULLWIDTH LATIN CAPITAL LETTER Z */
  {0xFF3B , ON }, /* FULLWIDTH LEFT SQUARE BRACKET */
  {0xFF3C , ON }, /* FULLWIDTH REVERSE SOLIDUS */
  {0xFF3D , ON }, /* FULLWIDTH RIGHT SQUARE BRACKET */
  {0xFF3E , ON }, /* FULLWIDTH CIRCUMFLEX ACCENT */
  {0xFF3F , ON }, /* FULLWIDTH LOW LINE */
  {0xFF40 , ON }, /* FULLWIDTH GRAVE ACCENT */
  {0xFF41 , L  }, /* FULLWIDTH LATIN SMALL LETTER A */
  {0xFF42 , L  }, /* FULLWIDTH LATIN SMALL LETTER B */
  {0xFF43 , L  }, /* FULLWIDTH LATIN SMALL LETTER C */
  {0xFF44 , L  }, /* FULLWIDTH LATIN SMALL LETTER D */
  {0xFF45 , L  }, /* FULLWIDTH LATIN SMALL LETTER E */
  {0xFF46 , L  }, /* FULLWIDTH LATIN SMALL LETTER F */
  {0xFF47 , L  }, /* FULLWIDTH LATIN SMALL LETTER G */
  {0xFF48 , L  }, /* FULLWIDTH LATIN SMALL LETTER H */
  {0xFF49 , L  }, /* FULLWIDTH LATIN SMALL LETTER I */
  {0xFF4A , L  }, /* FULLWIDTH LATIN SMALL LETTER J */
  {0xFF4B , L  }, /* FULLWIDTH LATIN SMALL LETTER K */
  {0xFF4C , L  }, /* FULLWIDTH LATIN SMALL LETTER L */
  {0xFF4D , L  }, /* FULLWIDTH LATIN SMALL LETTER M */
  {0xFF4E , L  }, /* FULLWIDTH LATIN SMALL LETTER N */
  {0xFF4F , L  }, /* FULLWIDTH LATIN SMALL LETTER O */
  {0xFF50 , L  }, /* FULLWIDTH LATIN SMALL LETTER P */
  {0xFF51 , L  }, /* FULLWIDTH LATIN SMALL LETTER Q */
  {0xFF52 , L  }, /* FULLWIDTH LATIN SMALL LETTER R */
  {0xFF53 , L  }, /* FULLWIDTH LATIN SMALL LETTER S */
  {0xFF54 , L  }, /* FULLWIDTH LATIN SMALL LETTER T */
  {0xFF55 , L  }, /* FULLWIDTH LATIN SMALL LETTER U */
  {0xFF56 , L  }, /* FULLWIDTH LATIN SMALL LETTER V */
  {0xFF57 , L  }, /* FULLWIDTH LATIN SMALL LETTER W */
  {0xFF58 , L  }, /* FULLWIDTH LATIN SMALL LETTER X */
  {0xFF59 , L  }, /* FULLWIDTH LATIN SMALL LETTER Y */
  {0xFF5A , L  }, /* FULLWIDTH LATIN SMALL LETTER Z */
  {0xFF5B , ON }, /* FULLWIDTH LEFT CURLY BRACKET */
  {0xFF5C , ON }, /* FULLWIDTH VERTICAL LINE */
  {0xFF5D , ON }, /* FULLWIDTH RIGHT CURLY BRACKET */
  {0xFF5E , ON }, /* FULLWIDTH TILDE */
  {0xFF5F , ON }, /* FULLWIDTH LEFT WHITE PARENTHESIS */
  {0xFF60 , ON }, /* FULLWIDTH RIGHT WHITE PARENTHESIS */
  {0xFF61 , ON }, /* HALFWIDTH IDEOGRAPHIC FULL STOP */
  {0xFF62 , ON }, /* HALFWIDTH LEFT CORNER BRACKET */
  {0xFF63 , ON }, /* HALFWIDTH RIGHT CORNER BRACKET */
  {0xFF64 , ON }, /* HALFWIDTH IDEOGRAPHIC COMMA */
  {0xFF65 , ON }, /* HALFWIDTH KATAKANA MIDDLE DOT */
  {0xFF66 , L  }, /* HALFWIDTH KATAKANA LETTER WO */
  {0xFF67 , L  }, /* HALFWIDTH KATAKANA LETTER SMALL A */
  {0xFF68 , L  }, /* HALFWIDTH KATAKANA LETTER SMALL I */
  {0xFF69 , L  }, /* HALFWIDTH KATAKANA LETTER SMALL U */
  {0xFF6A , L  }, /* HALFWIDTH KATAKANA LETTER SMALL E */
  {0xFF6B , L  }, /* HALFWIDTH KATAKANA LETTER SMALL O */
  {0xFF6C , L  }, /* HALFWIDTH KATAKANA LETTER SMALL YA */
  {0xFF6D , L  }, /* HALFWIDTH KATAKANA LETTER SMALL YU */
  {0xFF6E , L  }, /* HALFWIDTH KATAKANA LETTER SMALL YO */
  {0xFF6F , L  }, /* HALFWIDTH KATAKANA LETTER SMALL TU */
  {0xFF70 , L  }, /* HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK */
  {0xFF71 , L  }, /* HALFWIDTH KATAKANA LETTER A */
  {0xFF72 , L  }, /* HALFWIDTH KATAKANA LETTER I */
  {0xFF73 , L  }, /* HALFWIDTH KATAKANA LETTER U */
  {0xFF74 , L  }, /* HALFWIDTH KATAKANA LETTER E */
  {0xFF75 , L  }, /* HALFWIDTH KATAKANA LETTER O */
  {0xFF76 , L  }, /* HALFWIDTH KATAKANA LETTER KA */
  {0xFF77 , L  }, /* HALFWIDTH KATAKANA LETTER KI */
  {0xFF78 , L  }, /* HALFWIDTH KATAKANA LETTER KU */
  {0xFF79 , L  }, /* HALFWIDTH KATAKANA LETTER KE */
  {0xFF7A , L  }, /* HALFWIDTH KATAKANA LETTER KO */
  {0xFF7B , L  }, /* HALFWIDTH KATAKANA LETTER SA */
  {0xFF7C , L  }, /* HALFWIDTH KATAKANA LETTER SI */
  {0xFF7D , L  }, /* HALFWIDTH KATAKANA LETTER SU */
  {0xFF7E , L  }, /* HALFWIDTH KATAKANA LETTER SE */
  {0xFF7F , L  }, /* HALFWIDTH KATAKANA LETTER SO */
  {0xFF80 , L  }, /* HALFWIDTH KATAKANA LETTER TA */
  {0xFF81 , L  }, /* HALFWIDTH KATAKANA LETTER TI */
  {0xFF82 , L  }, /* HALFWIDTH KATAKANA LETTER TU */
  {0xFF83 , L  }, /* HALFWIDTH KATAKANA LETTER TE */
  {0xFF84 , L  }, /* HALFWIDTH KATAKANA LETTER TO */
  {0xFF85 , L  }, /* HALFWIDTH KATAKANA LETTER NA */
  {0xFF86 , L  }, /* HALFWIDTH KATAKANA LETTER NI */
  {0xFF87 , L  }, /* HALFWIDTH KATAKANA LETTER NU */
  {0xFF88 , L  }, /* HALFWIDTH KATAKANA LETTER NE */
  {0xFF89 , L  }, /* HALFWIDTH KATAKANA LETTER NO */
  {0xFF8A , L  }, /* HALFWIDTH KATAKANA LETTER HA */
  {0xFF8B , L  }, /* HALFWIDTH KATAKANA LETTER HI */
  {0xFF8C , L  }, /* HALFWIDTH KATAKANA LETTER HU */
  {0xFF8D , L  }, /* HALFWIDTH KATAKANA LETTER HE */
  {0xFF8E , L  }, /* HALFWIDTH KATAKANA LETTER HO */
  {0xFF8F , L  }, /* HALFWIDTH KATAKANA LETTER MA */
  {0xFF90 , L  }, /* HALFWIDTH KATAKANA LETTER MI */
  {0xFF91 , L  }, /* HALFWIDTH KATAKANA LETTER MU */
  {0xFF92 , L  }, /* HALFWIDTH KATAKANA LETTER ME */
  {0xFF93 , L  }, /* HALFWIDTH KATAKANA LETTER MO */
  {0xFF94 , L  }, /* HALFWIDTH KATAKANA LETTER YA */
  {0xFF95 , L  }, /* HALFWIDTH KATAKANA LETTER YU */
  {0xFF96 , L  }, /* HALFWIDTH KATAKANA LETTER YO */
  {0xFF97 , L  }, /* HALFWIDTH KATAKANA LETTER RA */
  {0xFF98 , L  }, /* HALFWIDTH KATAKANA LETTER RI */
  {0xFF99 , L  }, /* HALFWIDTH KATAKANA LETTER RU */
  {0xFF9A , L  }, /* HALFWIDTH KATAKANA LETTER RE */
  {0xFF9B , L  }, /* HALFWIDTH KATAKANA LETTER RO */
  {0xFF9C , L  }, /* HALFWIDTH KATAKANA LETTER WA */
  {0xFF9D , L  }, /* HALFWIDTH KATAKANA LETTER N */
  {0xFF9E , L  }, /* HALFWIDTH KATAKANA VOICED SOUND MARK */
  {0xFF9F , L  }, /* HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK */
  {0xFFA0 , L  }, /* HALFWIDTH HANGUL FILLER */
  {0xFFA1 , L  }, /* HALFWIDTH HANGUL LETTER KIYEOK */
  {0xFFA2 , L  }, /* HALFWIDTH HANGUL LETTER SSANGKIYEOK */
  {0xFFA3 , L  }, /* HALFWIDTH HANGUL LETTER KIYEOK-SIOS */
  {0xFFA4 , L  }, /* HALFWIDTH HANGUL LETTER NIEUN */
  {0xFFA5 , L  }, /* HALFWIDTH HANGUL LETTER NIEUN-CIEUC */
  {0xFFA6 , L  }, /* HALFWIDTH HANGUL LETTER NIEUN-HIEUH */
  {0xFFA7 , L  }, /* HALFWIDTH HANGUL LETTER TIKEUT */
  {0xFFA8 , L  }, /* HALFWIDTH HANGUL LETTER SSANGTIKEUT */
  {0xFFA9 , L  }, /* HALFWIDTH HANGUL LETTER RIEUL */
  {0xFFAA , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-KIYEOK */
  {0xFFAB , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-MIEUM */
  {0xFFAC , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-PIEUP */
  {0xFFAD , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-SIOS */
  {0xFFAE , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-THIEUTH */
  {0xFFAF , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH */
  {0xFFB0 , L  }, /* HALFWIDTH HANGUL LETTER RIEUL-HIEUH */
  {0xFFB1 , L  }, /* HALFWIDTH HANGUL LETTER MIEUM */
  {0xFFB2 , L  }, /* HALFWIDTH HANGUL LETTER PIEUP */
  {0xFFB3 , L  }, /* HALFWIDTH HANGUL LETTER SSANGPIEUP */
  {0xFFB4 , L  }, /* HALFWIDTH HANGUL LETTER PIEUP-SIOS */
  {0xFFB5 , L  }, /* HALFWIDTH HANGUL LETTER SIOS */
  {0xFFB6 , L  }, /* HALFWIDTH HANGUL LETTER SSANGSIOS */
  {0xFFB7 , L  }, /* HALFWIDTH HANGUL LETTER IEUNG */
  {0xFFB8 , L  }, /* HALFWIDTH HANGUL LETTER CIEUC */
  {0xFFB9 , L  }, /* HALFWIDTH HANGUL LETTER SSANGCIEUC */
  {0xFFBA , L  }, /* HALFWIDTH HANGUL LETTER CHIEUCH */
  {0xFFBB , L  }, /* HALFWIDTH HANGUL LETTER KHIEUKH */
  {0xFFBC , L  }, /* HALFWIDTH HANGUL LETTER THIEUTH */
  {0xFFBD , L  }, /* HALFWIDTH HANGUL LETTER PHIEUPH */
  {0xFFBE , L  }, /* HALFWIDTH HANGUL LETTER HIEUH */
  {0xFFC2 , L  }, /* HALFWIDTH HANGUL LETTER A */
  {0xFFC3 , L  }, /* HALFWIDTH HANGUL LETTER AE */
  {0xFFC4 , L  }, /* HALFWIDTH HANGUL LETTER YA */
  {0xFFC5 , L  }, /* HALFWIDTH HANGUL LETTER YAE */
  {0xFFC6 , L  }, /* HALFWIDTH HANGUL LETTER EO */
  {0xFFC7 , L  }, /* HALFWIDTH HANGUL LETTER E */
  {0xFFCA , L  }, /* HALFWIDTH HANGUL LETTER YEO */
  {0xFFCB , L  }, /* HALFWIDTH HANGUL LETTER YE */
  {0xFFCC , L  }, /* HALFWIDTH HANGUL LETTER O */
  {0xFFCD , L  }, /* HALFWIDTH HANGUL LETTER WA */
  {0xFFCE , L  }, /* HALFWIDTH HANGUL LETTER WAE */
  {0xFFCF , L  }, /* HALFWIDTH HANGUL LETTER OE */
  {0xFFD2 , L  }, /* HALFWIDTH HANGUL LETTER YO */
  {0xFFD3 , L  }, /* HALFWIDTH HANGUL LETTER U */
  {0xFFD4 , L  }, /* HALFWIDTH HANGUL LETTER WEO */
  {0xFFD5 , L  }, /* HALFWIDTH HANGUL LETTER WE */
  {0xFFD6 , L  }, /* HALFWIDTH HANGUL LETTER WI */
  {0xFFD7 , L  }, /* HALFWIDTH HANGUL LETTER YU */
  {0xFFDA , L  }, /* HALFWIDTH HANGUL LETTER EU */
  {0xFFDB , L  }, /* HALFWIDTH HANGUL LETTER YI */
  {0xFFDC , L  }, /* HALFWIDTH HANGUL LETTER I */
  {0xFFE0 , ET }, /* FULLWIDTH CENT SIGN */
  {0xFFE1 , ET }, /* FULLWIDTH POUND SIGN */
  {0xFFE2 , ON }, /* FULLWIDTH NOT SIGN */
  {0xFFE3 , ON }, /* FULLWIDTH MACRON */
  {0xFFE4 , ON }, /* FULLWIDTH BROKEN BAR */
  {0xFFE5 , ET }, /* FULLWIDTH YEN SIGN */
  {0xFFE6 , ET }, /* FULLWIDTH WON SIGN */
  {0xFFE8 , ON }, /* HALFWIDTH FORMS LIGHT VERTICAL */
  {0xFFE9 , ON }, /* HALFWIDTH LEFTWARDS ARROW */
  {0xFFEA , ON }, /* HALFWIDTH UPWARDS ARROW */
  {0xFFEB , ON }, /* HALFWIDTH RIGHTWARDS ARROW */
  {0xFFEC , ON }, /* HALFWIDTH DOWNWARDS ARROW */
  {0xFFED , ON }, /* HALFWIDTH BLACK SQUARE */
  {0xFFEE , ON }, /* HALFWIDTH WHITE CIRCLE */
  {0xFFF9 , ON }, /* INTERLINEAR ANNOTATION ANCHOR */
  {0xFFFA , ON }, /* INTERLINEAR ANNOTATION SEPARATOR */
  {0xFFFB , ON }, /* INTERLINEAR ANNOTATION TERMINATOR */
  {0xFFFC , ON }, /* OBJECT REPLACEMENT CHARACTER */
  {0xFFFD , ON }  /* REPLACEMENT CHARACTER */
};

/*********************************************************************
*
*       _aPairs
*
* Purpose:
*   The following table contains the character pairs which should be
*   rendered mirrored if their resolving level is 'R'
*/
static const PAIR _aPairs[] = {
  {0x0028, 0x0029}, /* LEFT PARENTHESIS */
  {0x0029, 0x0028}, /* RIGHT PARENTHESIS */
  {0x003C, 0x003E}, /* LESS-THAN SIGN */
  {0x003E, 0x003C}, /* GREATER-THAN SIGN */
  {0x005B, 0x005D}, /* LEFT SQUARE BRACKET */
  {0x005D, 0x005B}, /* RIGHT SQUARE BRACKET */
  {0x007B, 0x007D}, /* LEFT CURLY BRACKET */
  {0x007D, 0x007B}, /* RIGHT CURLY BRACKET */
  {0x00AB, 0x00BB}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
  {0x00BB, 0x00AB}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
  {0x0F3A, 0x0F3B}, /* TIBETAN MARK GUG RTAGS GYON */
  {0x0F3B, 0x0F3A}, /* TIBETAN MARK GUG RTAGS GYAS */
  {0x0F3C, 0x0F3D}, /* TIBETAN MARK ANG KHANG GYON */
  {0x0F3D, 0x0F3C}, /* TIBETAN MARK ANG KHANG GYAS */
  {0x169B, 0x169C}, /* OGHAM FEATHER MARK */
  {0x169C, 0x169B}, /* OGHAM REVERSED FEATHER MARK */
  {0x2018, 0x2019}, /* [BEST FIT] LEFT SINGLE QUOTATION MARK */
  {0x2019, 0x2018}, /* [BEST FIT] RIGHT SINGLE QUOTATION MARK */
  {0x201C, 0x201D}, /* [BEST FIT] LEFT DOUBLE QUOTATION MARK */
  {0x201D, 0x201C}, /* [BEST FIT] RIGHT DOUBLE QUOTATION MARK */
  {0x2039, 0x203A}, /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
  {0x203A, 0x2039}, /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
  {0x2045, 0x2046}, /* LEFT SQUARE BRACKET WITH QUILL */
  {0x2046, 0x2045}, /* RIGHT SQUARE BRACKET WITH QUILL */
  {0x207D, 0x207E}, /* SUPERSCRIPT LEFT PARENTHESIS */
  {0x207E, 0x207D}, /* SUPERSCRIPT RIGHT PARENTHESIS */
  {0x208D, 0x208E}, /* SUBSCRIPT LEFT PARENTHESIS */
  {0x208E, 0x208D}, /* SUBSCRIPT RIGHT PARENTHESIS */
  {0x2208, 0x220B}, /* ELEMENT OF */
  {0x2209, 0x220C}, /* NOT AN ELEMENT OF */
  {0x220A, 0x220D}, /* SMALL ELEMENT OF */
  {0x220B, 0x2208}, /* CONTAINS AS MEMBER */
  {0x220C, 0x2209}, /* DOES NOT CONTAIN AS MEMBER */
  {0x220D, 0x220A}, /* SMALL CONTAINS AS MEMBER */
  {0x2215, 0x29F5}, /* DIVISION SLASH */
  {0x223C, 0x223D}, /* TILDE OPERATOR */
  {0x223D, 0x223C}, /* REVERSED TILDE */
  {0x2243, 0x22CD}, /* ASYMPTOTICALLY EQUAL TO */
  {0x2252, 0x2253}, /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */
  {0x2253, 0x2252}, /* IMAGE OF OR APPROXIMATELY EQUAL TO */
  {0x2254, 0x2255}, /* COLON EQUALS */
  {0x2255, 0x2254}, /* EQUALS COLON */
  {0x2264, 0x2265}, /* LESS-THAN OR EQUAL TO */
  {0x2265, 0x2264}, /* GREATER-THAN OR EQUAL TO */
  {0x2266, 0x2267}, /* LESS-THAN OVER EQUAL TO */
  {0x2267, 0x2266}, /* GREATER-THAN OVER EQUAL TO */
  {0x2268, 0x2269}, /* [BEST FIT] LESS-THAN BUT NOT EQUAL TO */
  {0x2269, 0x2268}, /* [BEST FIT] GREATER-THAN BUT NOT EQUAL TO */
  {0x226A, 0x226B}, /* MUCH LESS-THAN */
  {0x226B, 0x226A}, /* MUCH GREATER-THAN */
  {0x226E, 0x226F}, /* [BEST FIT] NOT LESS-THAN */
  {0x226F, 0x226E}, /* [BEST FIT] NOT GREATER-THAN */
  {0x2270, 0x2271}, /* [BEST FIT] NEITHER LESS-THAN NOR EQUAL TO */
  {0x2271, 0x2270}, /* [BEST FIT] NEITHER GREATER-THAN NOR EQUAL TO */
  {0x2272, 0x2273}, /* [BEST FIT] LESS-THAN OR EQUIVALENT TO */
  {0x2273, 0x2272}, /* [BEST FIT] GREATER-THAN OR EQUIVALENT TO */
  {0x2274, 0x2275}, /* [BEST FIT] NEITHER LESS-THAN NOR EQUIVALENT TO */
  {0x2275, 0x2274}, /* [BEST FIT] NEITHER GREATER-THAN NOR EQUIVALENT TO */
  {0x2276, 0x2277}, /* LESS-THAN OR GREATER-THAN */
  {0x2277, 0x2276}, /* GREATER-THAN OR LESS-THAN */
  {0x2278, 0x2279}, /* NEITHER LESS-THAN NOR GREATER-THAN */
  {0x2279, 0x2278}, /* NEITHER GREATER-THAN NOR LESS-THAN */
  {0x227A, 0x227B}, /* PRECEDES */
  {0x227B, 0x227A}, /* SUCCEEDS */
  {0x227C, 0x227D}, /* PRECEDES OR EQUAL TO */
  {0x227D, 0x227C}, /* SUCCEEDS OR EQUAL TO */
  {0x227E, 0x227F}, /* [BEST FIT] PRECEDES OR EQUIVALENT TO */
  {0x227F, 0x227E}, /* [BEST FIT] SUCCEEDS OR EQUIVALENT TO */
  {0x2280, 0x2281}, /* [BEST FIT] DOES NOT PRECEDE */
  {0x2281, 0x2280}, /* [BEST FIT] DOES NOT SUCCEED */
  {0x2282, 0x2283}, /* SUBSET OF */
  {0x2283, 0x2282}, /* SUPERSET OF */
  {0x2284, 0x2285}, /* [BEST FIT] NOT A SUBSET OF */
  {0x2285, 0x2284}, /* [BEST FIT] NOT A SUPERSET OF */
  {0x2286, 0x2287}, /* SUBSET OF OR EQUAL TO */
  {0x2287, 0x2286}, /* SUPERSET OF OR EQUAL TO */
  {0x2288, 0x2289}, /* [BEST FIT] NEITHER A SUBSET OF NOR EQUAL TO */
  {0x2289, 0x2288}, /* [BEST FIT] NEITHER A SUPERSET OF NOR EQUAL TO */
  {0x228A, 0x228B}, /* [BEST FIT] SUBSET OF WITH NOT EQUAL TO */
  {0x228B, 0x228A}, /* [BEST FIT] SUPERSET OF WITH NOT EQUAL TO */
  {0x228F, 0x2290}, /* SQUARE IMAGE OF */
  {0x2290, 0x228F}, /* SQUARE ORIGINAL OF */
  {0x2291, 0x2292}, /* SQUARE IMAGE OF OR EQUAL TO */
  {0x2292, 0x2291}, /* SQUARE ORIGINAL OF OR EQUAL TO */
  {0x2298, 0x29B8}, /* CIRCLED DIVISION SLASH */
  {0x22A2, 0x22A3}, /* RIGHT TACK */
  {0x22A3, 0x22A2}, /* LEFT TACK */
  {0x22A6, 0x2ADE}, /* ASSERTION */
  {0x22A8, 0x2AE4}, /* TRUE */
  {0x22A9, 0x2AE3}, /* FORCES */
  {0x22AB, 0x2AE5}, /* DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE */
  {0x22B0, 0x22B1}, /* PRECEDES UNDER RELATION */
  {0x22B1, 0x22B0}, /* SUCCEEDS UNDER RELATION */
  {0x22B2, 0x22B3}, /* NORMAL SUBGROUP OF */
  {0x22B3, 0x22B2}, /* CONTAINS AS NORMAL SUBGROUP */
  {0x22B4, 0x22B5}, /* NORMAL SUBGROUP OF OR EQUAL TO */
  {0x22B5, 0x22B4}, /* CONTAINS AS NORMAL SUBGROUP OR EQUAL TO */
  {0x22B6, 0x22B7}, /* ORIGINAL OF */
  {0x22B7, 0x22B6}, /* IMAGE OF */
  {0x22C9, 0x22CA}, /* LEFT NORMAL FACTOR SEMIDIRECT PRODUCT */
  {0x22CA, 0x22C9}, /* RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT */
  {0x22CB, 0x22CC}, /* LEFT SEMIDIRECT PRODUCT */
  {0x22CC, 0x22CB}, /* RIGHT SEMIDIRECT PRODUCT */
  {0x22CD, 0x2243}, /* REVERSED TILDE EQUALS */
  {0x22D0, 0x22D1}, /* DOUBLE SUBSET */
  {0x22D1, 0x22D0}, /* DOUBLE SUPERSET */
  {0x22D6, 0x22D7}, /* LESS-THAN WITH DOT */
  {0x22D7, 0x22D6}, /* GREATER-THAN WITH DOT */
  {0x22D8, 0x22D9}, /* VERY MUCH LESS-THAN */
  {0x22D9, 0x22D8}, /* VERY MUCH GREATER-THAN */
  {0x22DA, 0x22DB}, /* LESS-THAN EQUAL TO OR GREATER-THAN */
  {0x22DB, 0x22DA}, /* GREATER-THAN EQUAL TO OR LESS-THAN */
  {0x22DC, 0x22DD}, /* EQUAL TO OR LESS-THAN */
  {0x22DD, 0x22DC}, /* EQUAL TO OR GREATER-THAN */
  {0x22DE, 0x22DF}, /* EQUAL TO OR PRECEDES */
  {0x22DF, 0x22DE}, /* EQUAL TO OR SUCCEEDS */
  {0x22E0, 0x22E1}, /* [BEST FIT] DOES NOT PRECEDE OR EQUAL */
  {0x22E1, 0x22E0}, /* [BEST FIT] DOES NOT SUCCEED OR EQUAL */
  {0x22E2, 0x22E3}, /* [BEST FIT] NOT SQUARE IMAGE OF OR EQUAL TO */
  {0x22E3, 0x22E2}, /* [BEST FIT] NOT SQUARE ORIGINAL OF OR EQUAL TO */
  {0x22E4, 0x22E5}, /* [BEST FIT] SQUARE IMAGE OF OR NOT EQUAL TO */
  {0x22E5, 0x22E4}, /* [BEST FIT] SQUARE ORIGINAL OF OR NOT EQUAL TO */
  {0x22E6, 0x22E7}, /* [BEST FIT] LESS-THAN BUT NOT EQUIVALENT TO */
  {0x22E7, 0x22E6}, /* [BEST FIT] GREATER-THAN BUT NOT EQUIVALENT TO */
  {0x22E8, 0x22E9}, /* [BEST FIT] PRECEDES BUT NOT EQUIVALENT TO */
  {0x22E9, 0x22E8}, /* [BEST FIT] SUCCEEDS BUT NOT EQUIVALENT TO */
  {0x22EA, 0x22EB}, /* [BEST FIT] NOT NORMAL SUBGROUP OF */
  {0x22EB, 0x22EA}, /* [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP */
  {0x22EC, 0x22ED}, /* [BEST FIT] NOT NORMAL SUBGROUP OF OR EQUAL TO */
  {0x22ED, 0x22EC}, /* [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */
  {0x22F0, 0x22F1}, /* UP RIGHT DIAGONAL ELLIPSIS */
  {0x22F1, 0x22F0}, /* DOWN RIGHT DIAGONAL ELLIPSIS */
  {0x22F2, 0x22FA}, /* ELEMENT OF WITH LONG HORIZONTAL STROKE */
  {0x22F3, 0x22FB}, /* ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22F4, 0x22FC}, /* SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22F6, 0x22FD}, /* ELEMENT OF WITH OVERBAR */
  {0x22F7, 0x22FE}, /* SMALL ELEMENT OF WITH OVERBAR */
  {0x22FA, 0x22F2}, /* CONTAINS WITH LONG HORIZONTAL STROKE */
  {0x22FB, 0x22F3}, /* CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22FC, 0x22F4}, /* SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE */
  {0x22FD, 0x22F6}, /* CONTAINS WITH OVERBAR */
  {0x22FE, 0x22F7}, /* SMALL CONTAINS WITH OVERBAR */
  {0x2308, 0x2309}, /* LEFT CEILING */
  {0x2309, 0x2308}, /* RIGHT CEILING */
  {0x230A, 0x230B}, /* LEFT FLOOR */
  {0x230B, 0x230A}, /* RIGHT FLOOR */
  {0x2329, 0x232A}, /* LEFT-POINTING ANGLE BRACKET */
  {0x232A, 0x2329}, /* RIGHT-POINTING ANGLE BRACKET */
  {0x2768, 0x2769}, /* MEDIUM LEFT PARENTHESIS ORNAMENT */
  {0x2769, 0x2768}, /* MEDIUM RIGHT PARENTHESIS ORNAMENT */
  {0x276A, 0x276B}, /* MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT */
  {0x276B, 0x276A}, /* MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT */
  {0x276C, 0x276D}, /* MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT */
  {0x276D, 0x276C}, /* MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT */
  {0x276E, 0x276F}, /* HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT */
  {0x276F, 0x276E}, /* HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT */
  {0x2770, 0x2771}, /* HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT */
  {0x2771, 0x2770}, /* HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT */
  {0x2772, 0x2773}, /* LIGHT LEFT TORTOISE SHELL BRACKET */
  {0x2773, 0x2772}, /* LIGHT RIGHT TORTOISE SHELL BRACKET */
  {0x2774, 0x2775}, /* MEDIUM LEFT CURLY BRACKET ORNAMENT */
  {0x2775, 0x2774}, /* MEDIUM RIGHT CURLY BRACKET ORNAMENT */
  {0x27C3, 0x27C4}, /* OPEN SUBSET */
  {0x27C4, 0x27C3}, /* OPEN SUPERSET */
  {0x27C5, 0x27C6}, /* LEFT S-SHAPED BAG DELIMITER */
  {0x27C6, 0x27C5}, /* RIGHT S-SHAPED BAG DELIMITER */
  {0x27D5, 0x27D6}, /* LEFT OUTER JOIN */
  {0x27D6, 0x27D5}, /* RIGHT OUTER JOIN */
  {0x27DD, 0x27DE}, /* LONG RIGHT TACK */
  {0x27DE, 0x27DD}, /* LONG LEFT TACK */
  {0x27E2, 0x27E3}, /* WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK */
  {0x27E3, 0x27E2}, /* WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK */
  {0x27E4, 0x27E5}, /* WHITE SQUARE WITH LEFTWARDS TICK */
  {0x27E5, 0x27E4}, /* WHITE SQUARE WITH RIGHTWARDS TICK */
  {0x27E6, 0x27E7}, /* MATHEMATICAL LEFT WHITE SQUARE BRACKET */
  {0x27E7, 0x27E6}, /* MATHEMATICAL RIGHT WHITE SQUARE BRACKET */
  {0x27E8, 0x27E9}, /* MATHEMATICAL LEFT ANGLE BRACKET */
  {0x27E9, 0x27E8}, /* MATHEMATICAL RIGHT ANGLE BRACKET */
  {0x27EA, 0x27EB}, /* MATHEMATICAL LEFT DOUBLE ANGLE BRACKET */
  {0x27EB, 0x27EA}, /* MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET */
  {0x2983, 0x2984}, /* LEFT WHITE CURLY BRACKET */
  {0x2984, 0x2983}, /* RIGHT WHITE CURLY BRACKET */
  {0x2985, 0x2986}, /* LEFT WHITE PARENTHESIS */
  {0x2986, 0x2985}, /* RIGHT WHITE PARENTHESIS */
  {0x2987, 0x2988}, /* Z NOTATION LEFT IMAGE BRACKET */
  {0x2988, 0x2987}, /* Z NOTATION RIGHT IMAGE BRACKET */
  {0x2989, 0x298A}, /* Z NOTATION LEFT BINDING BRACKET */
  {0x298A, 0x2989}, /* Z NOTATION RIGHT BINDING BRACKET */
  {0x298B, 0x298C}, /* LEFT SQUARE BRACKET WITH UNDERBAR */
  {0x298C, 0x298B}, /* RIGHT SQUARE BRACKET WITH UNDERBAR */
  {0x298D, 0x2990}, /* LEFT SQUARE BRACKET WITH TICK IN TOP CORNER */
  {0x298E, 0x298F}, /* RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER */
  {0x298F, 0x298E}, /* LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER */
  {0x2990, 0x298D}, /* RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER */
  {0x2991, 0x2992}, /* LEFT ANGLE BRACKET WITH DOT */
  {0x2992, 0x2991}, /* RIGHT ANGLE BRACKET WITH DOT */
  {0x2993, 0x2994}, /* LEFT ARC LESS-THAN BRACKET */
  {0x2994, 0x2993}, /* RIGHT ARC GREATER-THAN BRACKET */
  {0x2995, 0x2996}, /* DOUBLE LEFT ARC GREATER-THAN BRACKET */
  {0x2996, 0x2995}, /* DOUBLE RIGHT ARC LESS-THAN BRACKET */
  {0x2997, 0x2998}, /* LEFT BLACK TORTOISE SHELL BRACKET */
  {0x2998, 0x2997}, /* RIGHT BLACK TORTOISE SHELL BRACKET */
  {0x29B8, 0x2298}, /* CIRCLED REVERSE SOLIDUS */
  {0x29C0, 0x29C1}, /* CIRCLED LESS-THAN */
  {0x29C1, 0x29C0}, /* CIRCLED GREATER-THAN */
  {0x29C4, 0x29C5}, /* SQUARED RISING DIAGONAL SLASH */
  {0x29C5, 0x29C4}, /* SQUARED FALLING DIAGONAL SLASH */
  {0x29CF, 0x29D0}, /* LEFT TRIANGLE BESIDE VERTICAL BAR */
  {0x29D0, 0x29CF}, /* VERTICAL BAR BESIDE RIGHT TRIANGLE */
  {0x29D1, 0x29D2}, /* BOWTIE WITH LEFT HALF BLACK */
  {0x29D2, 0x29D1}, /* BOWTIE WITH RIGHT HALF BLACK */
  {0x29D4, 0x29D5}, /* TIMES WITH LEFT HALF BLACK */
  {0x29D5, 0x29D4}, /* TIMES WITH RIGHT HALF BLACK */
  {0x29D8, 0x29D9}, /* LEFT WIGGLY FENCE */
  {0x29D9, 0x29D8}, /* RIGHT WIGGLY FENCE */
  {0x29DA, 0x29DB}, /* LEFT DOUBLE WIGGLY FENCE */
  {0x29DB, 0x29DA}, /* RIGHT DOUBLE WIGGLY FENCE */
  {0x29F5, 0x2215}, /* REVERSE SOLIDUS OPERATOR */
  {0x29F8, 0x29F9}, /* BIG SOLIDUS */
  {0x29F9, 0x29F8}, /* BIG REVERSE SOLIDUS */
  {0x29FC, 0x29FD}, /* LEFT-POINTING CURVED ANGLE BRACKET */
  {0x29FD, 0x29FC}, /* RIGHT-POINTING CURVED ANGLE BRACKET */
  {0x2A2B, 0x2A2C}, /* MINUS SIGN WITH FALLING DOTS */
  {0x2A2C, 0x2A2B}, /* MINUS SIGN WITH RISING DOTS */
  {0x2A2D, 0x2A2E}, /* PLUS SIGN IN LEFT HALF CIRCLE */
  {0x2A2E, 0x2A2D}, /* PLUS SIGN IN RIGHT HALF CIRCLE */
  {0x2A34, 0x2A35}, /* MULTIPLICATION SIGN IN LEFT HALF CIRCLE */
  {0x2A35, 0x2A34}, /* MULTIPLICATION SIGN IN RIGHT HALF CIRCLE */
  {0x2A3C, 0x2A3D}, /* INTERIOR PRODUCT */
  {0x2A3D, 0x2A3C}, /* RIGHTHAND INTERIOR PRODUCT */
  {0x2A64, 0x2A65}, /* Z NOTATION DOMAIN ANTIRESTRICTION */
  {0x2A65, 0x2A64}, /* Z NOTATION RANGE ANTIRESTRICTION */
  {0x2A79, 0x2A7A}, /* LESS-THAN WITH CIRCLE INSIDE */
  {0x2A7A, 0x2A79}, /* GREATER-THAN WITH CIRCLE INSIDE */
  {0x2A7D, 0x2A7E}, /* LESS-THAN OR SLANTED EQUAL TO */
  {0x2A7E, 0x2A7D}, /* GREATER-THAN OR SLANTED EQUAL TO */
  {0x2A7F, 0x2A80}, /* LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE */
  {0x2A80, 0x2A7F}, /* GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE */
  {0x2A81, 0x2A82}, /* LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE */
  {0x2A82, 0x2A81}, /* GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE */
  {0x2A83, 0x2A84}, /* LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT */
  {0x2A84, 0x2A83}, /* GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT */
  {0x2A8B, 0x2A8C}, /* LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN */
  {0x2A8C, 0x2A8B}, /* GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN */
  {0x2A91, 0x2A92}, /* LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL */
  {0x2A92, 0x2A91}, /* GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL */
  {0x2A93, 0x2A94}, /* LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL */
  {0x2A94, 0x2A93}, /* GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL */
  {0x2A95, 0x2A96}, /* SLANTED EQUAL TO OR LESS-THAN */
  {0x2A96, 0x2A95}, /* SLANTED EQUAL TO OR GREATER-THAN */
  {0x2A97, 0x2A98}, /* SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE */
  {0x2A98, 0x2A97}, /* SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE */
  {0x2A99, 0x2A9A}, /* DOUBLE-LINE EQUAL TO OR LESS-THAN */
  {0x2A9A, 0x2A99}, /* DOUBLE-LINE EQUAL TO OR GREATER-THAN */
  {0x2A9B, 0x2A9C}, /* DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN */
  {0x2A9C, 0x2A9B}, /* DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN */
  {0x2AA1, 0x2AA2}, /* DOUBLE NESTED LESS-THAN */
  {0x2AA2, 0x2AA1}, /* DOUBLE NESTED GREATER-THAN */
  {0x2AA6, 0x2AA7}, /* LESS-THAN CLOSED BY CURVE */
  {0x2AA7, 0x2AA6}, /* GREATER-THAN CLOSED BY CURVE */
  {0x2AA8, 0x2AA9}, /* LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL */
  {0x2AA9, 0x2AA8}, /* GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL */
  {0x2AAA, 0x2AAB}, /* SMALLER THAN */
  {0x2AAB, 0x2AAA}, /* LARGER THAN */
  {0x2AAC, 0x2AAD}, /* SMALLER THAN OR EQUAL TO */
  {0x2AAD, 0x2AAC}, /* LARGER THAN OR EQUAL TO */
  {0x2AAF, 0x2AB0}, /* PRECEDES ABOVE SINGLE-LINE EQUALS SIGN */
  {0x2AB0, 0x2AAF}, /* SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN */
  {0x2AB3, 0x2AB4}, /* PRECEDES ABOVE EQUALS SIGN */
  {0x2AB4, 0x2AB3}, /* SUCCEEDS ABOVE EQUALS SIGN */
  {0x2ABB, 0x2ABC}, /* DOUBLE PRECEDES */
  {0x2ABC, 0x2ABB}, /* DOUBLE SUCCEEDS */
  {0x2ABD, 0x2ABE}, /* SUBSET WITH DOT */
  {0x2ABE, 0x2ABD}, /* SUPERSET WITH DOT */
  {0x2ABF, 0x2AC0}, /* SUBSET WITH PLUS SIGN BELOW */
  {0x2AC0, 0x2ABF}, /* SUPERSET WITH PLUS SIGN BELOW */
  {0x2AC1, 0x2AC2}, /* SUBSET WITH MULTIPLICATION SIGN BELOW */
  {0x2AC2, 0x2AC1}, /* SUPERSET WITH MULTIPLICATION SIGN BELOW */
  {0x2AC3, 0x2AC4}, /* SUBSET OF OR EQUAL TO WITH DOT ABOVE */
  {0x2AC4, 0x2AC3}, /* SUPERSET OF OR EQUAL TO WITH DOT ABOVE */
  {0x2AC5, 0x2AC6}, /* SUBSET OF ABOVE EQUALS SIGN */
  {0x2AC6, 0x2AC5}, /* SUPERSET OF ABOVE EQUALS SIGN */
  {0x2ACD, 0x2ACE}, /* SQUARE LEFT OPEN BOX OPERATOR */
  {0x2ACE, 0x2ACD}, /* SQUARE RIGHT OPEN BOX OPERATOR */
  {0x2ACF, 0x2AD0}, /* CLOSED SUBSET */
  {0x2AD0, 0x2ACF}, /* CLOSED SUPERSET */
  {0x2AD1, 0x2AD2}, /* CLOSED SUBSET OR EQUAL TO */
  {0x2AD2, 0x2AD1}, /* CLOSED SUPERSET OR EQUAL TO */
  {0x2AD3, 0x2AD4}, /* SUBSET ABOVE SUPERSET */
  {0x2AD4, 0x2AD3}, /* SUPERSET ABOVE SUBSET */
  {0x2AD5, 0x2AD6}, /* SUBSET ABOVE SUBSET */
  {0x2AD6, 0x2AD5}, /* SUPERSET ABOVE SUPERSET */
  {0x2ADE, 0x22A6}, /* SHORT LEFT TACK */
  {0x2AE3, 0x22A9}, /* DOUBLE VERTICAL BAR LEFT TURNSTILE */
  {0x2AE4, 0x22A8}, /* VERTICAL BAR DOUBLE LEFT TURNSTILE */
  {0x2AE5, 0x22AB}, /* DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE */
  {0x2AEC, 0x2AED}, /* DOUBLE STROKE NOT SIGN */
  {0x2AED, 0x2AEC}, /* REVERSED DOUBLE STROKE NOT SIGN */
  {0x2AF7, 0x2AF8}, /* TRIPLE NESTED LESS-THAN */
  {0x2AF8, 0x2AF7}, /* TRIPLE NESTED GREATER-THAN */
  {0x2AF9, 0x2AFA}, /* DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO */
  {0x2AFA, 0x2AF9}, /* DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO */
  {0x2E02, 0x2E03}, /* LEFT SUBSTITUTION BRACKET */
  {0x2E03, 0x2E02}, /* RIGHT SUBSTITUTION BRACKET */
  {0x2E04, 0x2E05}, /* LEFT DOTTED SUBSTITUTION BRACKET */
  {0x2E05, 0x2E04}, /* RIGHT DOTTED SUBSTITUTION BRACKET */
  {0x2E09, 0x2E0A}, /* LEFT TRANSPOSITION BRACKET */
  {0x2E0A, 0x2E09}, /* RIGHT TRANSPOSITION BRACKET */
  {0x2E0C, 0x2E0D}, /* LEFT RAISED OMISSION BRACKET */
  {0x2E0D, 0x2E0C}, /* RIGHT RAISED OMISSION BRACKET */
  {0x2E1C, 0x2E1D}, /* LEFT LOW PARAPHRASE BRACKET */
  {0x2E1D, 0x2E1C}, /* RIGHT LOW PARAPHRASE BRACKET */
  {0x3008, 0x3009}, /* LEFT ANGLE BRACKET */
  {0x3009, 0x3008}, /* RIGHT ANGLE BRACKET */
  {0x300A, 0x300B}, /* LEFT DOUBLE ANGLE BRACKET */
  {0x300B, 0x300A}, /* RIGHT DOUBLE ANGLE BRACKET */
  {0x300C, 0x300D}, /* [BEST FIT] LEFT CORNER BRACKET */
  {0x300D, 0x300C}, /* [BEST FIT] RIGHT CORNER BRACKET */
  {0x300E, 0x300F}, /* [BEST FIT] LEFT WHITE CORNER BRACKET */
  {0x300F, 0x300E}, /* [BEST FIT] RIGHT WHITE CORNER BRACKET */
  {0x3010, 0x3011}, /* LEFT BLACK LENTICULAR BRACKET */
  {0x3011, 0x3010}, /* RIGHT BLACK LENTICULAR BRACKET */
  {0x3014, 0x3015}, /* LEFT TORTOISE SHELL BRACKET */
  {0x3015, 0x3014}, /* RIGHT TORTOISE SHELL BRACKET */
  {0x3016, 0x3017}, /* LEFT WHITE LENTICULAR BRACKET */
  {0x3017, 0x3016}, /* RIGHT WHITE LENTICULAR BRACKET */
  {0x3018, 0x3019}, /* LEFT WHITE TORTOISE SHELL BRACKET */
  {0x3019, 0x3018}, /* RIGHT WHITE TORTOISE SHELL BRACKET */
  {0x301A, 0x301B}, /* LEFT WHITE SQUARE BRACKET */
  {0x301B, 0x301A}, /* RIGHT WHITE SQUARE BRACKET */
  {0x301D, 0x301E}, /* REVERSED DOUBLE PRIME QUOTATION MARK */
  {0x301E, 0x301D}, /* DOUBLE PRIME QUOTATION MARK */
  {0xFE59, 0xFE5A}, /* SMALL LEFT PARENTHESIS */
  {0xFE5A, 0xFE59}, /* SMALL RIGHT PARENTHESIS */
  {0xFE5B, 0xFE5C}, /* SMALL LEFT CURLY BRACKET */
  {0xFE5C, 0xFE5B}, /* SMALL RIGHT CURLY BRACKET */
  {0xFE5D, 0xFE5E}, /* SMALL LEFT TORTOISE SHELL BRACKET */
  {0xFE5E, 0xFE5D}, /* SMALL RIGHT TORTOISE SHELL BRACKET */
  {0xFE64, 0xFE65}, /* SMALL LESS-THAN SIGN */
  {0xFE65, 0xFE64}, /* SMALL GREATER-THAN SIGN */
  {0xFF08, 0xFF09}, /* FULLWIDTH LEFT PARENTHESIS */
  {0xFF09, 0xFF08}, /* FULLWIDTH RIGHT PARENTHESIS */
  {0xFF1C, 0xFF1E}, /* FULLWIDTH LESS-THAN SIGN */
  {0xFF1E, 0xFF1C}, /* FULLWIDTH GREATER-THAN SIGN */
  {0xFF3B, 0xFF3D}, /* FULLWIDTH LEFT SQUARE BRACKET */
  {0xFF3D, 0xFF3B}, /* FULLWIDTH RIGHT SQUARE BRACKET */
  {0xFF5B, 0xFF5D}, /* FULLWIDTH LEFT CURLY BRACKET */
  {0xFF5D, 0xFF5B}, /* FULLWIDTH RIGHT CURLY BRACKET */
  {0xFF5F, 0xFF60}, /* FULLWIDTH LEFT WHITE PARENTHESIS */
  {0xFF60, 0xFF5F}, /* FULLWIDTH RIGHT WHITE PARENTHESIS */
  {0xFF62, 0xFF63}, /* [BEST FIT] HALFWIDTH LEFT CORNER BRACKET */
  {0xFF63, 0xFF62}, /* [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET */
};

/*********************************************************************
*
*       Table with mapped types, WS and S are replaces with N
*/
static const U8 _aMappedTypes[] = {
  N,   /* ON */
  L,   /* L */
  R,   /* R */
  AN,  /* AN */
  EN,  /* EN */
  AL,  /* AL */
  NSM, /* NSM */
  CS,  /* CS */
  ES,  /* ES */
  ET,  /* ET */
  BN,  /* BN */
  N,   /* S mapped to N */
  N,   /* WS mapped to N */
  B,   /* B */
  RLO, /* RLO */
  RLE, /* RLE */
  LRO, /* LRO */
  LRE, /* LRE */
  PDF, /* PDF */
  ON,  /* LS mapped to ON */
};

/*********************************************************************
*
*       Values to be added depending of rules L1 and L2
*/
static const U8 _aaAddLevels[2][4] = {
/*
  L,  R, AN, EN
*/
  0,  1,  2,  2, /* EVEN */
  1,  0,  1,  1, /* ODD */

};

/*********************************************************************
*
*       Possible states
*/
#define XA   0  /* Arabic letter */
#define XR   1  /* Right leter */
#define XL   2  /* Left letter */
#define AO   3  /* Arabic letter follow by ON */
#define RO   4  /* Right letter follow by ON */
#define LO   5  /* Left letter follow by ON */
#define RT   6  /* ET following R */
#define LT   7  /* ET following L */
#define CN   8  /* EN, AN following AL */
#define RA   9  /* Arabic number follow R */
#define RE  10  /* European number follow R */
#define LA  11  /* Arabic number follow L */
#define LE  12  /* European number follow L */
#define AC  13  /* CS following CN */
#define RC  14  /* CS following RA */
#define RS  15  /* CS,ES following RE */
#define LC  16  /* CS following LA */
#define LS  17  /* CS,ES following LE */
#define RET 18  /* ET following RE */
#define LET 19  /* ET following LE */

/*********************************************************************
*
*       Possible weak states
*/
static const int _aaStateWeak[20][10] = {
/*
  N,  L,  R   AN, EN, AL,NSM, CS, ES, ET
*/
  AO, XL, XR, CN, CN, XA, XA, AO, AO, AO, /* XA , Arabic letter */
  RO, XL, XR, RA, RE, XA, XR, RO, RO, RT, /* XR , Right leter */
  LO, XL, XR, LA, LE, XA, XL, LO, LO, LT, /* XL , Left letter */
  AO, XL, XR, CN, CN, XA, AO, AO, AO, AO, /* AO , Arabic letter follow by ON */
  RO, XL, XR, RA, RE, XA, RO, RO, RO, RT, /* RO , Right letter follow by ON */
  LO, XL, XR, LA, LE, XA, LO, LO, LO, LT, /* LO , Left letter follow by ON */
  RO, XL, XR, RA, RE, XA, RT, RO, RO, RT, /* RT , ET following R */
  LO, XL, XR, LA, LE, XA, LT, LO, LO, LT, /* LT , ET following L */
  AO, XL, XR, CN, CN, XA, CN, AC, AO, AO, /* CN , EN, AN following AL */
  RO, XL, XR, RA, RE, XA, RA, RC, RO, RT, /* RA , Arabic number following R */
  RO, XL, XR, RA, RE, XA, RE, RS, RS,RET, /* RE , European number following R */
  LO, XL, XR, LA, LE, XA, LA, LC, LO, LT, /* LA , Arabic number following L */
  LO, XL, XR, LA, LE, XA, LE, LS, LS,LET, /* LE , European number following L */
  AO, XL, XR, CN, CN, XA, AO, AO, AO, AO, /* AC , CS following CN */
  RO, XL, XR, RA, RE, XA, RO, RO, RO, RT, /* RC , CS following RA */
  RO, XL, XR, RA, RE, XA, RO, RO, RO, RT, /* RS , CS,ES following RE */
  LO, XL, XR, LA, LE, XA, LO, LO, LO, LT, /* LC , CS following LA */
  LO, XL, XR, LA, LE, XA, LO, LO, LO, LT, /* LS , CS,ES following LE */
  RO, XL, XR, RA, RE, XA,RET, RO, RO,RET, /* RET, ET following RE */
  LO, XL, XR, LA, LE, XA,LET, LO, LO,LET  /* LET, ET following LE */
};

/*********************************************************************
*
*       Possible actions
*/
/* Primitives */
#define IX 0x100                 /* Increment */
#define XX 0xF                   /* No-op */

/* Actions */
#define XXX ((XX << 4) + XX)       /* No-op */
#define XIX (IX + XXX)             /* Increment run */
#define XXN ((XX << 4) + ON)       /* Set current to N */
#define XXE ((XX << 4) + EN)       /* Set current to EN */
#define XXA ((XX << 4) + AN)       /* Set current to AN */
#define XXR ((XX << 4) + R)        /* Set current to R */
#define XXL ((XX << 4) + L)        /* Set current to L */
#define NXX ((ON << 4) + 0xF)      /* Set run to neutral */
#define AXX ((AN << 4) + 0xF)      /* Set run to AN */
#define EXE ((EN << 4) + EN)       /* Set run to EN, set current to EN */
#define NIX ((ON << 4) + 0xF + IX) /* Set run to N, increment */
#define NXN ((ON << 4) + ON)       /* Set run to N, set current to N */
#define NXR ((ON << 4) + R)        /* Set run to N, set current to R */
#define NXE ((ON << 4) + EN)       /* Set run to N, set current to EN */
#define AXA ((AN << 4) + AN)       /* Set run to AN, set current to AN */
#define NXL ((ON << 4) + L)        /* Set run to N, set current to L */
#define LXL ((L  << 4) + L)        /* Set run to L, set current to L */

/*********************************************************************
*
*       Actions for resolving weak types
*/
static const int _aaActionWeak[20][10] = {
/*
  N,   L,   R    AN,  EN,  AL,  NSM, CS,  ES,  ET
*/
  XXX, XXX, XXX, XXX, XXA, XXR, XXR, XXN, XXN, XXN, /* XA , Arabic letter */
  XXX, XXX, XXX, XXX, XXE, XXR, XXR, XXN, XXN, XIX, /* XR , Right leter */
  XXX, XXX, XXX, XXX, XXL, XXR, XXL, XXN, XXN, XIX, /* XL , Left letter */
  XXX, XXX, XXX, XXX, XXA, XXR, XXN, XXN, XXN, XXN, /* AO , Arabic letter follow by ON */
  XXX, XXX, XXX, XXX, XXE, XXR, XXN, XXN, XXN, XIX, /* RO , Right letter follow by ON */
  XXX, XXX, XXX, XXX, XXL, XXR, XXN, XXN, XXN, XIX, /* LO , Left letter follow by ON */
  NXX, NXX, NXX, NXX, EXE, NXR, XIX, NXN, NXN, XIX, /* RT , ET following R */
  NXX, NXX, NXX, NXX, LXL, NXR, XIX, NXN, NXN, XIX, /* LT , ET following L */
  XXX, XXX, XXX, XXX, XXA, XXR, XXA, XIX, XXN, XXN, /* CN , EN, AN following AL */
  XXX, XXX, XXX, XXX, XXE, XXR, XXA, XIX, XXN, XIX, /* RA , Arabic number following R */
  XXX, XXX, XXX, XXX, XXE, XXR, XXE, XIX, XIX, XXE, /* RE , European number following R */
  XXX, XXX, XXX, XXX, XXL, XXR, XXA, XIX, XXN, XIX, /* LA , Arabic number following L */
  XXX, XXX, XXX, XXX, XXL, XXR, XXL, XIX, XIX, XXL, /* LE , European number following L */
  NXX, NXX, NXX, AXX, AXA, NXR, NXN, NXN, NXN, NXN, /* AC , CS following CN */
  NXX, NXX, NXX, AXX, NXE, NXR, NXN, NXN, NXN, NIX, /* RC , CS following RA */
  NXX, NXX, NXX, NXX, EXE, NXR, NXN, NXN, NXN, NIX, /* RS , CS,ES following RE */
  NXX, NXX, NXX, AXX, NXL, NXR, NXN, NXN, NXN, NIX, /* LC , CS following LA */
  NXX, NXX, NXX, NXX, LXL, NXR, NXN, NXN, NXN, NIX, /* LS , CS,ES following LE */
  XXX, XXX, XXX, XXX, XXE, XXR, XXE, XXN, XXN, XXE, /* RET, ET following RE */
  XXX, XXX, XXX, XXX, XXL, XXR, XXL, XXN, XXN, XXL  /* LET, ET following LE */
};

/*********************************************************************
*
*       Action values
*/
#define nL  (L)            /* Resolve EN to L */
#define En  (3 << 4)       /* Resolve neutrals run to embedding level direction */
#define Rn  (R << 4)       /* Resolve neutrals run to strong right */
#define Ln  (L << 4)       /* Resolved neutrals run to strong left */
#define In  ((1 << 8))     /* Increment count of deferred neutrals */
#define LnL ((1 << 4) + L) /* Set run and EN to L */

/*********************************************************************
*
*       State values (new temporary class)
*/
#define r  0 /* R and characters resolved to R */
#define l  1 /* L and characters resolved to L */
#define rn 2 /* N preceded by right */
#define ln 3 /* N preceded by left */
#define a  4 /* AN preceded by left (the abbrev 'LA' is used up above) */
#define na 5 /* N preceeded by a */

/*********************************************************************
*
*       Actions for resolving neutrals
*/
static const int _aaActionNeutrals[6][5] = {
/*
   N,  L,  R, AN, EN
*/
  In,  0,  0,  0,  0,  /* r  Right */
  In,  0,  0,  0,  L,  /* l  Left */
  In, En, Rn, Rn, Rn,  /* rn N preceded by right */
  In, Ln, En, En, LnL, /* ln N preceded by left */
  In,  0,  0,  0, L,   /* a  AN preceded by left */
  In, En, Rn, Rn, En   /* na N  preceded by a */
};

/*********************************************************************
*
*       States for neutrals
*/
static const int _aaStateNeutrals[6][5] = {
/*
   N,  L,  R, AN, EN
*/
  rn,  l,  r,  r,  r,  /* r  Right */
  ln,  l,  r,  a,  l,  /* l  Left */
  rn,  l,  r,  r,  r,  /* rn N preceded by right */
  ln,  l,  r,  a,  l,  /* ln N preceded by left */
  na,  l,  r,  a,  l,  /* a  AN preceded by left */
  na,  l,  r,  a,  l   /* na N  preceded by a */
};

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _GetType
*
* Purpose:
*   The function returns the type of the given character code.
*   It uses a binary search method for parsing the type array.
*
* Return value:
*   Type of the given character, 0 if not assigned
*/
static U8 _GetType(U16 Code) {
  U8 Type;
  unsigned Lo, Mid, Hi;
  Type = 0;
  Lo   = 0;
  Hi   = GUI_COUNTOF(_aTypes) - 1;
  while (Lo < Hi) {
    Mid = (Lo + Hi) / 2;
    if (Code > _aTypes[Mid].Code) {
      Lo = Mid + 1;
    } else {
      Hi = Mid;
    }
  }
  if (Code == _aTypes[Hi].Code) {
    Type = _aTypes[Hi].Type;
  }
  return Type;
}

/*********************************************************************
*
*       _GetNextChar
*
* Purpose:
*   Decodes the next and the following UC16 character from the given
*   character array and increments the given pointer.
*
* Parameter
*   PrevChar  - Previous character
*   pNextChar - Pointer to memory location of next character following the current character
*   ps        - Pointer to string pointer
*
* Return value:
*   UC16 character of the current position
*/
static U16 _GetNextChar(U16 PrevChar, U16 * pNextChar, const char GUI_UNI_PTR ** ps) {
  const char GUI_UNI_PTR * s;
  U16 Char;
  s = *ps;
  if (!PrevChar) {
    Char = GUI_UC__GetCharCodeInc(&s);
    if (Char) {
      *pNextChar = GUI_UC__GetCharCodeInc(&s);
    }
  } else {
    Char = *pNextChar;
    if (Char) {
      *pNextChar = GUI_UC__GetCharCodeInc(&s);
    }
  }
  *ps = s;
  return Char;
}

/*********************************************************************
*
*       _DoJoiningAndDecoding
*
* Purpose:
*   Decodes UTF8 to UC16 and replaces arabic characters by their glyph codes
*
* Return value:
*   Number of characters in output
*/
static int _DoJoiningAndDecoding(const char GUI_UNI_PTR * s, int NumChars, U16 * aChars, int FillIgnored) {
  int LenOut = 0, IgnoreNextCharacter = 0;
  U16 Char, NextChar = 0, PrevChar = 0;
  while (--NumChars >= 0) {
    Char = _GetNextChar(PrevChar, &NextChar, &s);
    if (!Char) {
      break;
    }
    if (IgnoreNextCharacter) {
      IgnoreNextCharacter = 0;
      if (FillIgnored) {
        *(aChars + LenOut++) = 0;
      }
    } else {
      int CharIsArabic;
      U16 Glyph;
      CharIsArabic = GUI__IsArabicCharacter(Char);
      if (CharIsArabic) {
        Glyph = GUI__GetPresentationForm(Char, NextChar, PrevChar, &IgnoreNextCharacter, s);
      } else {
        Glyph = Char;
      }
      *(aChars + LenOut++) = Glyph;
    }
    PrevChar = Char;
  }
  return LenOut;
}

/*********************************************************************
*
*       _GetMappedCharacterTypes
*
* Purpose:
*   Returns the character type as defined in Unicode data. WS and S will be
*   mapped to ON
*/
static void _GetMappedCharacterTypes(const U16 * pChar, U8 * pTypes, int NumChars) {
  while (NumChars--) {
    *pTypes++ = _aMappedTypes[_GetType(*pChar++)];
  }
}

/*********************************************************************
*
*       _FillDeferred
*/
static void _FillDeferred(U8 * pVal, int Cnt, int Start, U8 Val) {
  int i;
  for (i = Start - 1; i >= Start - Cnt; i--) {
    *(pVal + i) = Val;
  }
}

/*********************************************************************
*
*       _BiDiGetBaseLevel
*
* Purpose:
*   Finds the base level of the given text.
*   Rule(s): P2
*/
static int _BiDiGetBaseLevel(const U8 * pTypes, int NumChars) {
  U8 Type;
  while (NumChars--) {
    Type = *pTypes++;
    switch (Type) {
    case L:
      return 0;
    case R:
    case AL:
      return 1;
    }
  }
  return 0;
}

/*********************************************************************
*
*       _BiDiResolveExplicit
*
* Purpose:
*   Resolve explicit levels and directions.
*   Rule(s): X1 - X9
*/
static int _BiDiResolveExplicit(U8 * pLevels, U8 * pTypes, int NumChars, U8 Level, U8 Dir, U8 Nest) {
  int i;
  U8 nLastValid = Level;
  U8 Type, NewLevel;
  /* Check input values */
  if (Nest > GUI_BIDI_MAX_LEVEL) {
    return 0; /* Error */
  }
  /* Do the job */
  for (i = 0; i < NumChars; i++) {
    Type = *(pTypes + i);
    switch (Type) {
    case LRO:
    case LRE:
      Nest++;
      NewLevel = GREATER_EVEN(Level);
      if (NewLevel <= GUI_BIDI_MAX_LEVEL) {
        *(pLevels + i) = NewLevel;
        *(pTypes  + i) = BN;
        i += _BiDiResolveExplicit(pLevels + i + 1, pTypes + i + 1, NumChars - (i + 1), NewLevel, ((Type == LRE) ? N : L), Nest);
        Nest--;
        continue;
      }
      Type = *(pTypes + i) = BN;
      break;
    case RLO:
    case RLE:
      Nest++;
      NewLevel = GREATER_ODD(Level);
      if (NewLevel <= GUI_BIDI_MAX_LEVEL) {
        *(pLevels + i) = NewLevel;
        *(pTypes  + i) = BN;
        i += _BiDiResolveExplicit(pLevels + i + 1, pTypes + i + 1, NumChars - (i + 1), NewLevel, ((Type == RLE) ? N : R), Nest);
        Nest--;
        continue;
      }
      Type = *(pTypes + i) = BN;
      break;
    case PDF:
      Type = *(pTypes + i) = BN;
      if (Nest) {
        if (nLastValid < Nest) {
          Nest--;
        } else {
          NumChars = i;
        }
      }
      break;
    }
    if (Dir != N) {
      Type = Dir;
    }
    *(pLevels + i) = Level;
    if (*(pTypes + i) != BN) {
      *(pTypes + i) = Type;
    }
  }
  return i;
}

/*********************************************************************
*
*       _BiDiResolveWeak
*
* Purpose:
*   Resolve weak types
*   Rule(s): W1 - W7
*/
static void _BiDiResolveWeak(U8 * pLevels, U8 * pTypes, int NumChars, U8 BaseLevel) {
  int State, Type, i, Action, NewLevel, Level, CntRun, TypeRun, TypeNew;
  Level  = BaseLevel;
  State  = (BaseLevel & 1) ? XR : XL;
  CntRun = 0;
  for (i = 0; i < NumChars; i++) {
    if (*(pTypes + i) == BN) {
      *(pLevels + i) = Level;
      /* Check if level will be changed */
      if ((i + 1 == NumChars) && (Level != BaseLevel)) {
        *(pTypes + i) = EMBEDDING_DIRECTION(Level);
      } else if ((i + i < NumChars) && (Level != *(pLevels + i + 1)) && (*(pTypes + i + 1) != BN)) {
        NewLevel = *(pLevels + i + 1);
        if (Level > NewLevel) {
          NewLevel = Level;
        }
        *(pLevels + i) = NewLevel;
        *(pTypes  + i) = EMBEDDING_DIRECTION(NewLevel);
        Level = *(pLevels + i + 1);
      } else {
        if (CntRun) {
          CntRun++;
        }
        continue;
      }
    }
    Type = *(pTypes + i);
    if (Type > BN) {
      return; /* Error */
    }
    Action  = _aaActionWeak[State][Type];
    /* Resolve the directionality for deferred runs */
    TypeRun = (Action >> 4) & 0xf;
    if (TypeRun != XX) {
      _FillDeferred(pTypes, CntRun, i, TypeRun);
      CntRun = 0;
    }
    /* Resolve the directionality type at the current location */
    TypeNew = (Action & 0xf);
    if (TypeNew != XX) {
      *(pTypes + i) = TypeNew;
    }
    /* Increment a deferred run */
    if (IX & Action) {
      CntRun++;
    }
    State = _aaStateWeak[State][Type];
  }
  Type    = EMBEDDING_DIRECTION(Level);
  TypeRun = (_aaActionWeak[State][Type] >> 4) & 0xf;
  if (TypeRun != XX) {
    _FillDeferred(pTypes, CntRun, i, TypeRun);
  }
}

/*********************************************************************
*
*       _BiDiResolveNeutrals
*
* Purpose:
*   Resolve neutral types
*   Rule(s): N1, N2
*/
static void _BiDiResolveNeutrals(U8 * pLevels, U8 * pTypes, int NumChars, U8 BaseLevel) {
  int State, Type, i, CntRun, Level, Action, ActionTmp, TypeNew, TypeRun;
  Level  = BaseLevel;
  State  = (BaseLevel & 1) ? r : l;
  CntRun = 0;
  for (i = 0; i < NumChars; i++) {
    if (*(pTypes + i) == BN) {
      if (CntRun) {
        CntRun++;
      }
      continue;
    }
    Type = *(pTypes + i);
    if (Type >= AL) {
      return; /* Error */
    }
    Action = _aaActionNeutrals[State][Type];
    /* Resolve the directionality for deferred runs */
    ActionTmp = (Action >> 4) & 0xF;
    if (ActionTmp == (En >> 4)) {
      TypeRun = EMBEDDING_DIRECTION(Level);
    } else {
      TypeRun = ActionTmp;
    }
    if (TypeRun != N) {
      _FillDeferred(pTypes, CntRun, i, TypeRun);
      CntRun = 0;
    }
    /* Resolve the directionality type at the current location */
    ActionTmp = Action & 0xF;
    if (ActionTmp == In) {
      TypeNew = 0;
    } else {
      TypeNew = ActionTmp;
    }
    if (TypeNew != N) {
      *(pTypes + i) = TypeNew;
    }
    if (In & Action) {
      CntRun++;
    }
    State = _aaStateNeutrals[State][Type];
    Level = *(pLevels + i);
  }
}

/*********************************************************************
*
*       _BiDiResolveImplicit
*
* Purpose:
*   Resolve neutral types
*   Rule(s): I1, I2
*/
static void _BiDiResolveImplicit(U8 * pLevels, U8 * pTypes, int NumChars) {
  int i;
  for (i = 0; i < NumChars; i++) {
    if (*(pTypes + i) == BN) {
      continue;
    }
    if (*(pTypes + i) == 0) {
      return; /* Error */
    }
    if (*(pTypes + i) >= AL) {
      return; /* Error */
    }
    *(pLevels + i) += _aaAddLevels[*(pLevels + i) & 1][*(pTypes + i) - 1];
  }
}

/*********************************************************************
*
*       _ReorderLevel
*/
static int _ReorderLevel(U16 * pChars, U8 * pLevels, int NumChars, U8 Level, int Reverse) {
  int i, j, k;
  U16 Temp;
  Reverse = Reverse | (Level & 1);
  for (i = 0; i < NumChars; i++) {
    if (*(pLevels + i) < Level) {
      break;
    } else if (*(pLevels + i) > Level) {
      i += _ReorderLevel(pChars + i, pLevels + i, NumChars - i, Level + 1, Reverse) - 1;
    }
  }
  if (Reverse) {
    /* Reverse characters on demand */
    for (j = 0, k = i; j < --k; j++) {
      Temp          = *(pChars + j);
      *(pChars + j) = *(pChars + k);
      *(pChars + k) = Temp;
    }
  }
  return i;
}

/*********************************************************************
*
*       _BiDiReorder
* Purpose:
*   Reorders relolved levels.
*   Rule(s): L2
*/
static void _BiDiReorder(U16 * pChars, U8 * pLevels, int NumChars, U8 BaseLevel) {
  int i;
  for (i = 0; i < NumChars; i += _ReorderLevel(pChars + i, pLevels + i, NumChars, BaseLevel, 0));
}

/*********************************************************************
*
*       _BiDiNeeded
*
* Purpose
*   Returns if the BiDi is needed for the given text
*/
static int _BiDiNeeded(U8 * pTypes, int NumChars) {
  if (NumChars) {
    while (--NumChars) {
      switch (*(pTypes + NumChars)) {
      case R:    /* Right-to-Left */
      case AL:   /* Right-to-Left Arabic */
        return 1;
      }
    }
  }
  return 0;
}

/*********************************************************************
*
*       _GetMirrored
*
* Purpose:
*   The function returns the type of the given character code.
*   It uses a binary search method for parsing the type array.
*
* Return value:
*   Type of the given character, 0 if not assigned
*/
static U16 _GetMirrored(U16 Code) {
  U16 Mirrored;
  unsigned Lo, Mid, Hi;
  Mirrored = 0;
  Lo   = 0;
  Hi   = GUI_COUNTOF(_aPairs) - 1;
  while (Lo < Hi) {
    Mid = (Lo + Hi) / 2;
    if (Code > _aPairs[Mid].Code) {
      Lo = Mid + 1;
    } else {
      Hi = Mid;
    }
  }
  if (Code == _aPairs[Hi].Code) {
    Mirrored = _aPairs[Hi].CodeM;
  }
  return Mirrored;
}

/*********************************************************************
*
*       _BiDiMirror
* Purpose:
*   Mirror neutrals
*   Rule(s): L4
*/
static void _BiDiMirror(U16 * pChars, U8 * pLevels, int NumChars) {
  int i;
  for (i = 0; i < NumChars; i++) {
    if (*(pLevels + i) & 1) {
      U16 Mirrored;
      Mirrored = _GetMirrored(*(pChars  + i));
      if (Mirrored) {
        *(pChars  + i) = Mirrored;
      }
    }
  }
}

/*********************************************************************
*
*       _BiDiDoTransformations
* Purpose:
*   Does the base BiDi transformations
*/
static int _BiDiDoTransformations(U16 * pChars, U8 * pTypes, U8 * pLevels, int NumChars, int DoMirroring) {
  int BaseLevel;                                                    /* Base embedding level */
  BaseLevel = _BiDiGetBaseLevel(pTypes, NumChars);                  /* BiDi: Get base level */
  _BiDiResolveExplicit(pLevels, pTypes, NumChars, BaseLevel, N, 0); /* BiDi: Resolve explicit levels */
  _BiDiResolveWeak(pLevels, pTypes, NumChars, BaseLevel);           /* BiDi: Resolve weak types */
  _BiDiResolveNeutrals(pLevels, pTypes, NumChars, BaseLevel);       /* BiDi: Resolve weak types */
  _BiDiResolveImplicit(pLevels, pTypes, NumChars);                  /* BiDi: Resolve implicit levels */
  if (DoMirroring) {
    _BiDiMirror(pChars, pLevels, NumChars);                         /* BiDi: Mirror characters */
  }
  return BaseLevel;
}

/*********************************************************************
*
*       _IsLineEnd
*/
static int _IsLineEnd(U16 Char) {
  if (!Char || (Char == '\n')) {
    return 1;
  }
  return 0;
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUI__BIDI_Log2Vis
*
* Purpose:
*   Converts a logical string into a visual string, so that further display
*   routines do not need to reorder or change the character codes. It first
*   converts the given UTF8 string into a UC16 string and replaces Arabic
*   characters with their glyph codes depending on their position in the text.
*   Then the rules for bidirectional text (BiDi-algorithm explained in the
*   Unicode standard annex #9) are used to convert the logical order to the
*   visual order.
*   This implementation supports mirroring. Different to the Unicode
*   specification mirroring is limited to characters with a corresponding
*   'mirror character'. 
*   This implementaion works on a line by line basis and does not split the
*   given text into separate paragraphs. It assumes that only one line of
*   text needs to be converted.
*
* Parameters:
*   s          - UTF8 string to be converted
*   NumChars   - Number of characters in UTF8 string
*   pBuffer    - Buffer to be filled with the visual string
*   BufferSize - Size of buffer in bytes
*
* Return value:
*   Number of bytes in buffer
*/
int GUI__BIDI_Log2Vis(const char GUI_UNI_PTR * s, int NumChars, char * pBuffer, int BufferSize) {
  U8  aTypes [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Direction types of characters */
  U8  aLevels[GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Embedding direction levels */
  U16 aChars [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of decoded UC16 characters */
  int BaseLevel; /* Base embedding level */
  /* Check maximum of characters */
  if (NumChars > GUI_BIDI_MAX_CHARS_PER_LINE) {
    return 0; /* Error */
  }
  /* Decode characters and replace Arabic characters with joining forms */
  NumChars = _DoJoiningAndDecoding(s, NumChars, aChars, 0);
  /* Get character types */
  _GetMappedCharacterTypes(aChars, aTypes, NumChars);
  if (_BiDiNeeded(aTypes, NumChars)) {
    BaseLevel = _BiDiDoTransformations(aChars, aTypes, aLevels, NumChars, 1);
    /* BiDi: Reorder */
    _BiDiReorder(aChars, aLevels, NumChars, BaseLevel);
  }
  /* Create UTF8 string */
  GUI_UC_ConvertUC2UTF8(aChars, NumChars, pBuffer, BufferSize);
  /* Return number of characters */
  return NumChars;
}

/*********************************************************************
*
*       GUI__BIDI_GetCursorPosX
*
* Purpose:
*   Returns the cursor position in pixels by the given index
*
* Parameters:
*   s        : Pointer to the string
*   NumChars : Number of charaters in the string
*   Index    : Index of cursor character
*/
int GUI__BIDI_GetCursorPosX(const char GUI_UNI_PTR * s, int NumChars, int Index) {
  int CursorPosX = 0, IsRTL, i;
  U8  aTypes  [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Direction types of characters */
  U8  aLevels [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Embedding direction levels */
  U16 aChars  [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of decoded UC16 characters */
  U16 aIndices[GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of Indices */
  int BaseLevel; /* Base embedding level */
  /* Check maximum of characters */
  if (NumChars > GUI_BIDI_MAX_CHARS_PER_LINE) {
    return 0; /* Error */
  }
  /* Decode characters and replace Arabic characters with joining forms */
  NumChars = _DoJoiningAndDecoding(s, NumChars, aChars, 1);
  /* Get character types */
  _GetMappedCharacterTypes(aChars, aTypes, NumChars);
  if (_BiDiNeeded(aTypes, NumChars)) {
    BaseLevel = _BiDiDoTransformations(aChars, aTypes, aLevels, NumChars, 1);
    /* Odd level means RTL, even means LTR */
    IsRTL = aLevels[Index] & 1;
    /* Renumber array */
    for (i = 0; i < NumChars; i++) {
      aIndices[i] = i;
    }
    /* BiDi: Reorder characters and indices */
    _BiDiReorder(aChars,   aLevels, NumChars, BaseLevel);
    _BiDiReorder(aIndices, aLevels, NumChars, BaseLevel);
    /* Calculate x position */
    for (i = 0; i < NumChars; i++) {
      if (Index == aIndices[i]) {
        if (IsRTL) {
          return CursorPosX + GUI_GetCharDistX(aChars[i]);
        } else {
          return CursorPosX;
        }
      }
      CursorPosX += GUI_GetCharDistX(aChars[i]);
    }
  } else {
    U16 Char, * pChars;
    pChars = aChars;
    while (Index--) {
      Char        = *(pChars++);
      CursorPosX += GUI_GetCharDistX(Char);
    }
  }
  return CursorPosX;
}

/*********************************************************************
*
*       GUI__BIDI_GetCursorPosChar
*
* Purpose:
*   Returns the cursor character index by the given pixel position
*
* Parameters:
*   s        : Pointer to the string
*   NumChars : Number of charaters in the string
*   x        : X position of the cursor
*/
int GUI__BIDI_GetCursorPosChar(const char GUI_UNI_PTR * s, int NumChars, int x) {
  int CursorPosX = 0;
  U8  aTypes  [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Direction types of characters */
  U8  aLevels [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Embedding direction levels */
  U16 aChars  [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of decoded UC16 characters */
  U16 aIndices[GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of Indices */
  int BaseLevel, i; /* Base embedding level */
  /* Check maximum of characters */
  if (NumChars > GUI_BIDI_MAX_CHARS_PER_LINE) {
    return 0; /* Error */
  }
  /* Decode characters and replace Arabic characters with joining forms */
  NumChars = _DoJoiningAndDecoding(s, NumChars, aChars, 1);
  /* Get character types */
  _GetMappedCharacterTypes(aChars, aTypes, NumChars);
  if (_BiDiNeeded(aTypes, NumChars)) {
    BaseLevel = _BiDiDoTransformations(aChars, aTypes, aLevels, NumChars, 1);
    /* Renumber array */
    for (i = 0; i < NumChars; i++) {
      aIndices[i] = i;
    }
    /* BiDi: Reorder characters and indices */
    _BiDiReorder(aChars,   aLevels, NumChars, BaseLevel);
    _BiDiReorder(aIndices, aLevels, NumChars, BaseLevel);
    /* Get character index */
    for (i = 0; i < NumChars; i++) {
      int NewPosX;
      NewPosX = CursorPosX + GUI_GetCharDistX(aChars[i]);
      if ((x >= CursorPosX) && (x <= NewPosX)) {
        return aIndices[i];
      }
      CursorPosX = NewPosX;
    }
    return 0;
  } else {
    int SizeX = 0;
    const char GUI_UNI_PTR * p;
    p = s;
    while (--NumChars> 0) {
      U16 Char;
      Char   = GUI_UC_GetCharCode(s);
      SizeX += GUI_GetCharDistX(Char);
      if (!Char || (SizeX > x)) {
        break;
      }
      s += GUI_UC_GetCharSize(s);
    }
    return GUI_UC__NumBytes2NumChars(p, s - p);
  }
}

/*********************************************************************
*
*       GUI__BIDI_GetLogChar
*
* Purpose:
*   Returns the UC16 character at the given index position after UTF8 decoding
*   and after calculating the right representation form.
*
* Parameters:
*   s        : Pointer to the string
*   NumChars : Number of charaters in the string
*   Index    : Index of desired character
*/
U16 GUI__BIDI_GetLogChar(const char GUI_UNI_PTR * s, int NumChars, int Index) {
  U16 aChars  [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of decoded UC16 characters */
  /* Check maximum of characters */
  if (NumChars > GUI_BIDI_MAX_CHARS_PER_LINE) {
    return 0; /* Error */
  }
  /* Decode characters and replace Arabic characters with joining forms */
  NumChars = _DoJoiningAndDecoding(s, NumChars, aChars, 1);
  if (Index < NumChars) {
    return aChars[Index];
  }
  return 0;
}

/*********************************************************************
*
*       GUI__BIDI_GetCharDir
*
* Purpose:
*   Returns the cursor direction at the given position.
*
* Parameters:
*   s        : Pointer to the string
*   NumChars : Number of charaters in the string
*   Index    : Index of cursor character
*
* Return value:
*   0 - Left to right
*   1 - Right to left
*/
int GUI__BIDI_GetCharDir(const char GUI_UNI_PTR * s, int NumChars, int Index) {
  U8  aTypes [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Direction types of characters */
  U8  aLevels[GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Embedding direction levels */
  U16 aChars [GUI_BIDI_MAX_CHARS_PER_LINE] = {0}; /* Array of decoded UC16 characters */
  /* Check maximum of characters */
  if (NumChars > GUI_BIDI_MAX_CHARS_PER_LINE) {
    return 0; /* Error */
  }
  /* Decode characters and replace Arabic characters with joining forms */
  NumChars = _DoJoiningAndDecoding(s, NumChars, aChars, 1);
  /* Get character types */
  _GetMappedCharacterTypes(aChars, aTypes, NumChars);
  if (_BiDiNeeded(aTypes, NumChars)) {
    _BiDiDoTransformations(aChars, aTypes, aLevels, NumChars, 0);
    /* Odd level means RTL, even means LTR */
    return aLevels[Index] & 1;
  }
  /* No BiDi needed, so the result is LTR */
  return 0;
}

/*********************************************************************
*
*       GUI__BIDI_IsNSM
*
* Purpose:
*   Returns if the given character is a non spacing mark (NSM)
*
* Parameters:
*   c: Character to be checked
*
* Return value:
*   0 - Character is not a NSM
*   1 - Character is a NSM
*/
int GUI__BIDI_IsNSM(U16 Char) {
  U8 Type;
  Type = _GetType(Char);
  return (Type == NSM) ? 1 : 0;
}

/*********************************************************************
*
*       GUI__BIDI_GetCursorCharacter
*
* Purpose:
*   Gets the 16 bit character code from the given position
*
*   The function is used only by module GUI__GetCursorPos, which
*   is required for EDIT and MULTIEDIT widget only.
*/
U16 GUI__BIDI_GetCursorCharacter(const char GUI_UNI_PTR * s, int Index, int MaxNumChars, int * pIsRTL) {
  U16 Char;

  Char    = GUI__BIDI_GetLogChar(s, MaxNumChars, Index);
  if (pIsRTL) {
    *pIsRTL = GUI__BIDI_GetCharDir(s, MaxNumChars, Index);
  }
  return Char;
}

/*********************************************************************
*
*       GUI__BIDI_GetWordWrap
*
* Purpose:
*   Word wrapping with BiDi support
*/
int GUI__BIDI_GetWordWrap(const char GUI_UNI_PTR * s, int xSize, int * pxDist) {
  int xDist = 0, NumChars = 0, WordWrap = 0, CharDist = 0;
  U16 Char;
  int IgnoreNextCharacter = 0, CharIsArabic;
  U16 Glyph, NextChar, PrevChar = 0, FirstChar = 0;
  while (1) {
    Char = _GetNextChar(PrevChar, &NextChar, &s);
    if (IgnoreNextCharacter) {
      IgnoreNextCharacter = 0;
    } else {
      CharIsArabic = GUI__IsArabicCharacter(Char);
      if (CharIsArabic) {
        Glyph = GUI__GetPresentationForm(Char, NextChar, PrevChar, &IgnoreNextCharacter, s);
      } else {
        Glyph = Char;
      }
      if (!FirstChar) {
        FirstChar = Glyph;
      }
      /* Let's first check if the line end is reached. In this case we are done. */
      if (_IsLineEnd(Glyph)) {
        WordWrap = NumChars;
        break;
      }
      /* If the current character is part of leading spaces the position can be used for wrapping */
      if ((Glyph != ' ') && (FirstChar == ' ')) {
        FirstChar = 0;
        WordWrap = NumChars;
      } else if ((Glyph != ' ') && (PrevChar == ' ') && (CharIsArabic)) {
        WordWrap = NumChars;

      /* If the current character is a space and the previous character not, we found a wrapping position */
      } else if ((Glyph == ' ') && (Glyph != PrevChar)) {
        WordWrap = NumChars;
      /* If the current character is a trailing space the position can be used for wrapping */
      } else if ((Glyph == ' ') && (PrevChar == ' ')) {
        WordWrap = NumChars;
      }
      CharDist = GUI_GetCharDistX(Glyph);
      xDist += CharDist;
    }
    if ((xDist <= xSize) || (NumChars == 0)) {
      NumChars++;
    } else {
      break;
    }
    PrevChar = Char;
  }
  if (!WordWrap) {
    WordWrap = NumChars;
  }
  if (pxDist) {
    xDist -= CharDist;
    *pxDist = xDist;
  }
  return WordWrap;
}

/*********************************************************************
*
*       GUI__BIDI_GetCharWrap (with Arabic support)
*
* Purpose:
*   Character wrapping with BiDi support
*/
int GUI__BIDI_GetCharWrap(const char GUI_UNI_PTR * s, int xSize) {
  int xDist = 0, NumChars = 0;
  U16 Char;
  int IgnoreNextCharacter = 0, CharIsArabic;
  U16 Glyph, NextChar, PrevChar = 0;
  while (1) {
    Char = _GetNextChar(PrevChar, &NextChar, &s);
    if (!Char) {
      break;
    }
    if (IgnoreNextCharacter) {
      IgnoreNextCharacter = 0;
    } else {
      CharIsArabic = GUI__IsArabicCharacter(Char);
      if (CharIsArabic) {
        Glyph = GUI__GetPresentationForm(Char, NextChar, PrevChar, &IgnoreNextCharacter, s);
      } else {
        Glyph = Char;
      }
      xDist += GUI_GetCharDistX(Glyph);
      if ((NumChars && (xDist > xSize)) || (Glyph == '\n')) {
        break;
      }
    }
    NumChars++;
    PrevChar = Char;
  }
  return NumChars;
}

/*************************** End of file ****************************/

